我有几个div,用户可以使用jquery切换方法最小化或扩展它们。但是,当刷新页面时,Div将返回到其默认状态。这是一种让浏览器记住div最后状态的方法吗?
例如,如果我展开一个ID为"my_div“的div,然后单击页面上的其他内容,然后返回到原始页面,我希望"my_div”保持展开状态。
我在想,可以使用会话变量来实现这一点,也许当用户单击expand/minimize按钮时,可以发送AJAX请求并切换会话variable...IDK..any的想法?
发布于 2011-10-24 19:02:17
发布于 2011-10-11 21:56:14
不需要ajax请求,只需将信息存储在cookie或本地存储中即可。这里有一个库可以帮到你:http://www.jstorage.info/
一些示例代码(未测试):
// stores the toggled position
$('#my_div').click(function() {
$('#my_div').toggle();
$.jStorage.set('my_div', $('#my_div:visible').length);
});
// on page load restores all elements to old position
$(function() {
var elems = $.jStorage.index();
for (var i = 0, l = elems.length; i < l; i++) {
$.jStorage.get(i) ? $('#' + i).show() : hide();
}
});
发布于 2011-10-11 21:59:09
如果你不需要支持老的浏览器,你可以使用html5 web storage。
你可以这样做(取自w3schools的例子):
下面的示例计算用户在当前会话中访问页面的次数:
<script type="text/javascript">
if (sessionStorage.pagecount) {
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}
else {
sessionStorage.pagecount=1;
}
document.write("Visits "+sessionStorage.pagecount+" time(s) this session.");
</script>
https://stackoverflow.com/questions/7732991
复制相似问题