我在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;
}
让我知道这是否有助于