记住jQuery隐藏或显示页面刷新后的状态

时间:2013-01-09 23:13:23

标签: jquery

    $(document).ready(function(){
        $("#navibtnon").bind('click', function(){
            $('#navi').fadeIn("fast");
            $(window).unbind('resize');
        });
    });
    $(document).ready(function(){
        $('#navbtnoff').bind('click', function () {
            $('#navi').fadeOut("fast");
            $(window).bind('resize', ScreenSize);
        });
    });

function ScreenSize()  {
  windowsize = $(window).width();
    if (windowsize < 1040) {
      $('#naviclosed').fadeIn("fast");
    }
    if (windowsize >= 1040) {
    $('#naviclosed').fadeOut("fast"); 
    }
}

那么如何在页面刷新时让make jQuery记住这个设置? 更新:我添加了ScreenSize()函数的功能。

感谢

2 个答案:

答案 0 :(得分:1)

使用jquery cookie plugin你可以将屏幕大小设置为这样的cookie:

$.cookie("ScreenSize",ScreenSize)

当页面重新加载时,如果cookie存在,则将其绑定为:

 var ScreenSize;
if ((ScreenSize = $.cookie('filter')) != undefined) {
  $(window).bind('resize', ScreenSize);
}

这是我正在使用的实际代码:

$(".dropdown li a").click(function () {
var filter = grid.dataSource.filter();
filter == undefined ? "" : (filter.filters[0].value != undefined) ? "" : $.cookie("filter", JSON.stringify(filter));

});

var filter;
if ((filter = JSON.parse($.cookie('filter'))) != undefined) {
    grid.dataSource.filter(filter);
    $("#account-done").show(300);
}

答案 1 :(得分:0)

使用ajax将数据(查询)发送到数据库更好,并将其保存在数据库中;并在每次刷新时,从数据库重新加载它。