我正在尝试为我的网站http://www.digitalambiance.co制作一个灯箱弹出窗口,该用户将在首次访问该网站时为用户打开,然后不再打开。我的想法是使用cookie,所以我将jquery.cookie.js脚本添加到我的整个文档中。我可以让cookie注册,但我不能阻止弹出窗口显示。我尝试了很多解决方案,但我对JQuery很新,所以我想我可能会错过一些明显的东西?
这是我的代码:
//Beginning of function for popup
function(){
if($.cookie('01012013') != '1'){
$.cookie('01012013', '1', { expires: 7, path: '/' });
function openOffersDialog() {
$('#overlay').fadeIn('fast', function() {
$('.overlayp').css('display','inline');
$('#boxpopup').css('display','block');
$('#boxpopup').animate({'left':'30%'},500);
});
}
function closeOffersDialog(prospectElementID) {
$(function($) {
$(document).ready(function() {
$('#' + prospectElementID).css('position','absolute');
$('#' + prospectElementID).animate({'left':'-100%'}, 500, function() {
$('#' + prospectElementID).css('position','fixed');
$('#' + prospectElementID).css('left','100%');
$('#overlay').fadeOut('fast');
});
});
});
}
} //if statement
else{
return;
} //else statement
} //overall function statement
//end popup section
三江源!
答案 0 :(得分:0)
我检查了他们在网站上的方式。一些事情:
即
if (false) {
function x() { }
}
// and
if (true) {
function x() { }
}
将创建函数x。
您需要做的是首先通过调用您声明的包装函数使代码可执行,例如:
(function () {
// code
})();
其次,不要使用onload =“”标签,因为你加载了jQuery,而是执行:
jQuery(document).ready(function () { // When the page loads
if ($.cookie('01012013') != '1') { // Check for cookie
$.cookie('01012013', '1', { expires: 7, path: '/' });
// Now create your close function
window.closeOffersDialog = function (prospectElementID) {
$('#' + prospectElementID).css('position','absolute');
$('#' + prospectElementID).animate({'left':'-100%'}, 500, function() {
$('#' + prospectElementID).css('position','fixed');
$('#' + prospectElementID).css('left','100%');
$('#overlay').fadeOut('fast');
});
};
// and set the timer to open the window
setTimeout(function () {
$('#overlay').fadeIn('fast', function() {
$('.overlayp').css('display','inline');
$('#boxpopup').css('display','block');
$('#boxpopup').animate({'left':'30%'},500);
});
}, 3000);
}
});