您好我正在使用jquery popup。我需要在页面上只显示一次弹出窗口。为此我使用了cookie:
if ($.cookie('test_status') != '1') {
//code to display popup
$.cookie('test_status', '1', { expires: 30 });
}
以上条件适用于除弹出窗口以下的所有内容:
$(document).mousemove(function(e) {
if(e.pageY <= 5) {
// Launch MODAL BOX
$('#exit_content').modal({onOpen: modalOpen, onClose: simplemodal_close});
}
});
此弹出窗口也只需显示一次。
答案 0 :(得分:1)
你应该检查事件中cookie的值,如果值不是1
,则表示弹出窗口尚未显示,它进入if
并显示弹出窗口和设置1
的值。然后下次cookie为1
并且它永远不会进入if
,所以它永远不再显示弹出窗口。
所以,你可以这样做:
$(document).mousemove(function(e) {
// Check if the cookie's value is not 1
if(e.pageY <= 5 && $.cookie('test_status') != '1') {
// Launch MODAL BOX
$('#exit_content').modal({onOpen: modalOpen, onClose: simplemodal_close});
// set the cookie to 1
$.cookie('test_status', '1', { expires: 30 });
}
});
答案 1 :(得分:0)
你为什么不尝试这样的事?
$(document).mousemove(function(e) {
if(e.pageY <= 5) {
if ($.cookie('exit_modal') != '1') {
// Launch MODAL BOX
$('#exit_content').modal({onOpen: modalOpen, onClose: simplemodal_close});
//code to display popup
$.cookie('exit_modal', '1', { expires: 30 });
}
}
});
答案 2 :(得分:0)
您可以使用Jquery one()仅执行一次鼠标点击。 http://api.jquery.com/one/
然后,如果cookie设置为alerady,则不要创建该事件。