0

这里我的HTML

<!-- this is my link -->
<a href='javascript:void(0);' class='show_hide'>Show Hide</a>
<!-- This is my show hide content -->
<div class='slidingDiv'> ..................Here my content...............</div>

我是 Jquery 初学者。我只是尝试构建一个滑动条。我parent().next()在我的slideToggle()功能中使用。因为我需要为每个DIV. 所以我写了这段代码....

$(".show_hide").show();
$(".slidingDiv").hide();
$('.show_hide').click(function () {
   $(this).parent().next().slideToggle();
});

这段代码运行良好。但现在我的问题是刷新后我需要 cookie 来休息。我写这段代码

var cook= $.cookie('showdiv');
if(cook=='true')
    $(".slidingDiv").show();
else
    $(".slidingDiv").hide();

    $('.show_hide').on('click', function()
    {
            $(this).parent().next().slideToggle('normal', function(){
                $.cookie('showdiv', $(this).is(':visible'));
            });
    });

但是cookie不起作用。请注意,我确定我已成功安装 jquery cookie 插件。

4

2 回答 2

0

如果发布的是您的 HTML 标记,则选择器必须$(this).next(".slidingDiv")没有父级。

代码:

var cook = $.cookie('showdiv');
console.log(cook)
if (cook == 'true') $(".slidingDiv").show();
else $(".slidingDiv").hide();

$('.show_hide').on('click', function () {
    $(this).next(".slidingDiv").slideToggle('normal', function () {
        $.cookie('showdiv', $(this).is(':visible'));
    });
});

演示:http: //jsfiddle.net/IrvinDominin/PRDU7/

于 2013-09-25T20:26:52.603 回答
0

不幸的是,通过在 cookie 中存储一个布尔值来检查是真还是假,您必须将其作为字符串进行比较作为回报。

您是否检查过 console.log 或提醒您的 cookie 的返回?

console.log($.cookie('showdiv'));

我测试并比较了字符串没有问题。

小提琴

于 2013-09-25T20:08:48.770 回答