禁用带有Cookie的Fancybox弹出窗口



我在Wordpress的任何页面上都设置了一个延迟弹出的Fancybox,我希望在用户提交所提供的输入后将其禁用,或者如果用户单击旁路链接,则在给定的时间内不显示。我试过在这个网站上找到一些脚本,但似乎都不起作用,以下是我目前设置的内容。

function openFancybox() {
        setTimeout( function() {$('.pop').trigger('click'); },20000);
    }
    $(document).ready(function() {
        var visited = $.cookie('visited');
        if (visited == 'yes') {
            return false;
        } else {
            openFancybox();
        }
        $.cookie('visited', 'yes', { expires: 7 });
        $('.pop').fancybox();
    });

请尝试以下操作,看看是否有帮助。

openFancybox = function{
   setTimeout( function() {$('.pop').trigger('click'); },20000);
}
$(document).ready(function() {
   //Declare your cookie.
   $.cookie('visited','no', { expires: 7 });
   //Test to see if your cookie equals 'no', if true then run the fancy box.
   if ($.cookie('visited') == 'no') {
           openFancybox();
   }
   //Your Input or click to stop the fancy box
   $('#StopFancyBox').on('click',function(){
       $.cookie('visited', 'yes');
   });
});

正如@Brad所提到的,你可以使用网络开发工具来测试你的cookie值。只需转到web.console并回拨$.cookie('visited')

错误

jquery.cookie.jsGET http://www.coreytegeler.com/bolivares/wp-content/themes/max-magazine/source/cookies/jquery.cookie.js 404 (Not Found)

上述情况似乎是因为jquery.cookie.js文件没有引用正确的位置。

/bolivares/:72SyntaxError: Expected token '('

以上都是我的错:(对不起。在声明函数openFancybox时,我错过了((。所以应该是openFancybox = function(){

jquery-plugins.min.js:13TypeError: 'undefined' is not an object (evaluating 'e.browser.msie')
superfish.js:123TypeError: 'undefined' is not a function (evaluating 'jQuery('ul.nav').superfish()')
woocommerce.min.js:1TypeError: 'undefined' is not a function (evaluating 'e(".plus").live')

以上分别与插件jquery-plugins.min.js、superfish.js和woommerce.min.js冲突。很抱歉,我不能在这些方面提供太多指导。

/bolivares/:259ReferenceError: Can't find variable: myLoop

您正在回拨主html页面第259行的myLoop(i(。但是,在搜索所有脚本时,这并没有在任何地方声明。

是的,你可以完美地编辑它,你所要做的就是创建一个settimeout值,以便在一段时间后弹出fancybox,然后编写这样的程序

    <script type="text/javascript">
function openFancybox() {
    setTimeout( function() {$('#fancybox-manual-b').trigger('click'); },5000);
}
$(document).ready(function() {
    var visited = $.cookie('visited');
    $.cookie('visited', 'yes', { expires: 7 }); /*write this first*/
    if (visited == 'yes') {
        function callback(a){
                return function(){
                alert("Hello " + a);
                                    }
                                    }
                var a = "world";
                setTimeout(callback(a), 2000); /*let the page load first*/
                a = "subscriber";
    } else {
        openFancybox();
    }
    $('#fancybox-manual-b').fancybox();
});
</script>

如果你愿意,你可以更改(我写这篇文章是为了检查cookie是否正常工作(

if (visited == 'yes') {
        function callback(a){
                return function(){
                alert("Hello " + a);
                                    }
                                    }
                var a = "world";
                setTimeout(callback(a), 2000);
                a = "idiotteen";
    }

if (visited == 'yes') {
return false;
}

让我知道这是否有助于

最新更新