在每个会话的页面加载上显示fancybox

时间:2013-12-19 14:19:06

标签: javascript jquery cookies fancybox session-cookies

使用fancyBox v2和jQuery Cookie插件。

代码:

var check_cookie = $.cookie('the_cookie');
if(check_cookie == null){
$.cookie('the_cookie', 'the_value');
$("#hidden_link").fancybox().trigger('click');
}

有效。但我想,当我关闭网站或浏览器并回来时,再次显示fancybox。试过这个但没有工作:

var check_cookie = $.cookie('the_cookie');

if(check_cookie == null){

$("#hidden_link").fancybox().trigger('click'), {
'onComplete' : function() {
$.cookie('the_cookie', 'the_value');
}
});
}

通过DevTools检查,得到此错误:

Uncaught SyntaxError: Unexpected token ) on 42. 

42. line:

    });

我该如何解决?

2 个答案:

答案 0 :(得分:1)

在分配时将时间范围设置为cookie,比如说30分钟

var check_cookie = $.cookie('the_cookie');
if(check_cookie == null){
$.cookie('the_cookie', 'the_value', { expires: 30 * 60 * 1000 });
$("#hidden_link").fancybox().trigger('click');
}

请参阅以下链接以获取参考..

How to expire a cookie in 30 minutes using jQuery?

答案 1 :(得分:0)

这是一个简单的语法错误。 onComplete是fancybox的API选项,因此它位于fancybox函数中,如

var check_cookie = $.cookie('the_cookie');
if (check_cookie == null) {
    $("#hidden_link").fancybox({
        'onComplete': function () {
            $.cookie('the_cookie', 'the_value');
        }
    }).trigger('click');
}