【发布时间】:2013-03-11 08:55:57
【问题描述】:
基本上我在一个元素上默认使用 display: none ,然后在单击不同标题后使用 javascript 将隐藏元素切换到另一个元素。现在我的实现完美无缺。
唯一的问题是,当您重新加载页面时,它会恢复为默认值,而不是保持原样。
这段代码中发生的事情是我将隐藏元素的标题与函数 hideUnhide 绑定。当它被点击时,我隐藏当前元素,显示先前隐藏的元素,然后设置标题的 css 以使隐藏的元素看起来像一个链接,而显示的元素看起来像一个标题。
$(document).ready(function() {
var unclicked = $('.unclickedTeam');
unclicked.bind("click", hideUnhide);
});
function hideUnhide() {
var unclicked = $('.unclickedTeam');
var clicked = $('.currentTeam');
var displayedTeam = $('.displayedTeam');
var hiddenTeam = $('.hiddenTeam');
displayedTeam.css('display', 'none');
hiddenTeam.css('display', 'block');
displayedTeam.addClass('hiddenTeam');
displayedTeam.removeClass('displayedTeam');
hiddenTeam.addClass('displayedTeam');
hiddenTeam.removeClass('hiddenTeam');
unclicked.addClass('currentTeam');
unclicked.removeClass('unclickedTeam');
clicked.addClass('unclickedTeam');
clicked.removeClass('currentTeam');
unclicked.unbind();
clicked.bind("click", hideUnhide);
}
我怎样才能按原样保存状态?除了使它们成为两个单独的页面之外,当单击标题时它们会相互跳转。
【问题讨论】:
-
可以使用localStorage来存储之前的状态。使用
localStorage.setItem("key", "value");和localStorage.getItem("key");。
标签: javascript jquery show-hide