在Jquery中存储信息的概念

时间:2010-08-06 16:50:09

标签: jquery show

我有最初关闭的div。然后,下面的代码控制开/关:

$("p:contains('INVESTOR')").click(function() {
        if( $('#cs_investorServ').is(':hidden')) {
                $('#cs_investorServ').animate({opacity:'toggle', height: 'toggle'},'fast', function(){
                $('#cs_furlBar1 .cs_furlHeaderClosed').removeClass().addClass('cs_furlHeaderOpen');
                });

     } else {
                $('#cs_investorServ').animate({opacity:'toggle', height: 'toggle'},'fast', function(){
                $('#cs_furlBar1 .cs_furlHeaderOpen').removeClass().addClass('cs_furlHeaderClosed');});
                }
    });

我现在的问题是div中显示/隐藏了一个链接,该链接将用户带到更多信息的不同页面。因此,如果用户返回到第一页,则div再次关闭,因为我最初在所有div上运行hide()。 (客户授权)

如何在返回该页面时保存div“已打开”的事实?我想知道我是否可以使用data方法但不确定如何构建它。

因为我有一个if / else检查是:hidden,我只是认为另一个if / else会干扰if / else for hidden。

所以,我想切换打开一个div,然后点击该div内部并转到另一个页面,当回到原始页面时,让点击源的div仍然打开。

我将此作为doc ready函数中的第一个操作:$('.cs_hideOpen').hide();因此不确定如何“删除”该类,但仅限于用户显示div并从该div中单击时。

2 个答案:

答案 0 :(得分:0)

有一个jquery插件允许您设置,读取和删除cookie - 通过javascript设置cookie更容易。找到插件Here.

只需在取消隐藏div时设置cookie。您可以在每次加载页面时检查该cookie。

答案 1 :(得分:0)

有三种方法可以实现这一点。

  • 您可以在用户会话中将DIV的状态存储在用户会话中(如果有的话)。您需要使用AJAX将DIV状态发送回服务器,然后在服务器生成DIV时以某种方式标记DIV(向其添加类或其他内容)以使其保持打开状态。 / LI>
  • 您可以将DIV的状态存储在cookie中。 Google Code上的Cookie项目提供了一个干净的API并与jQuery集成:http://code.google.com/p/cookies/
  • 您可以使用HTML 5本地存储来存储DIV的状态。谷歌搜索“html5 localstorage”获取有关该主题的文章。本地存储是一种新技术,在旧版浏览器上不可用(例如IE 6和IE 7)。