jQuery .one只显示一次

时间:2013-06-25 23:56:16

标签: javascript jquery modal-dialog

我们有一个模态对话框,当用户离开浏览器主体时会激活该对话框。这是使用下面的.one()代码。不是.one应该一次显示模态?是否有可能每个用户只执行一次(cookie?),所以每当他们回到页面时,当他们离开身体时不会重复?

jQuery("body").one('mouseleave', function() {
    jQuery("#modal-background").toggleClass("active");
    jQuery("#modal-content").toggleClass("active");
});

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

检查函数内部的cookie值,如果值不是1,则表示模态对话框尚未显示,它进入if并显示模态对话框并将值设置为1.然后下一次cookie是1,它永远不会进入if,因此它永远不会显示模态对话框。

jQuery("body").one('mouseleave', function() {
   if(jQuery.cookie("dialogDisplayed") !==1){
     jQuery("#modal-background").toggleClass("active");
     jQuery("#modal-content").toggleClass("active");
     jQuery.cookie("dialogDisplayed", '1', { expires: 30 });
   }
});