我有一个 Fancybox 设置为延迟在我的 Wordpress 的任何页面上弹出,我希望在用户在提供的输入中提交某些内容后将其禁用,或者在给定量的时间内不显示它用户点击绕过链接的时间。我尝试了在该网站上找到的一些脚本,但似乎没有任何效果,这是我当前设置的内容。
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 提到的,您可以使用 Web 开发人员工具来测试以了解您的 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 和 woocommerce.min.js 发生冲突。很抱歉我无法在这些方面给予太多指导。
/bolivares/:259ReferenceError: Can't find variable: myLoop
您正在 html 主页的第 259 行回调 myLoop(i)。但搜索所有脚本后,发现这并没有在任何地方声明。
关于javascript - 使用 Cookie 禁用 Fancybox 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072423/