1

嗨,我正在使用 jquery 弹出窗口。我只需要在页面上显示一次弹出窗口。为此,我使用了 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});
   }
});

此弹出窗口也只需要显示一次。

4

3 回答 3

1

您应该检查事件中 cookie 的值,如果值不是1,则表示弹出窗口尚未显示,它进入if并显示弹出窗口并将值设置为1。然后下一次 cookie1并且它永远不会进入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 });
   }
});
于 2013-05-25T19:09:17.170 回答
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 });
    }

       }
    });
于 2013-05-25T19:08:00.097 回答
0

您可以使用 Jquery one() 只执行一次鼠标单击。http://api.jquery.com/one/

然后,如果 cookie 已设置,则根本不创建事件。

于 2013-05-25T20:52:57.297 回答