我只需要显示一次jquery弹出窗口

时间:2013-05-25 18:49:56

标签: performance jquery-ui jquery jquery-plugins

您好我正在使用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});
   }
});

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

3 个答案:

答案 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,则不要创建该事件。