【问题标题】:Jquery popup display at once time on the same pagejquery弹窗在同一页面上一次显示
【发布时间】:2021-09-27 05:06:55
【问题描述】:

我已经这样设置了我的代码,当页面被刷新时,它会显示一个弹出窗口并使计数器成为一个。并且一旦计数器是一个弹出窗口,就不应该再次显示。

我遇到了这个问题,它在同一页面上再次显示,我希望它在同一页面上显示弹出窗口。当 then 变为另一个时,将重复相同的过程。

var counter = 0;
counter ++;

if(counter == 1)
{
    setInterval(function () {
    $('.popup2, .overlay2').fadeIn();       
}, 1500);
    
}
else {
    $('.popup2, .overlay2').fadeout();
}

我也试过这段代码,但它不起作用

    if ($ .cookie("popup_1_2") == null) {
    setInterval(function () {
        $('.popup2, .overlay2').fadeIn();
    }, 1500);
    $ .cookie("popup_1_2", "2");
}

【问题讨论】:

    标签: javascript jquery counter


    【解决方案1】:

    您希望在某个时间间隔后对单个操作使用 setTimeout。 SetInterval 用于无限重复事件(直到取消)

    我不知道你为什么需要柜台。相反,只需在页面加载时激活弹出窗口

    $(document).ready(function() {
        setTimeout(function () {
           $('.popup2, .overlay2').fadeIn();       
        }, 1500);
    })
    

    如果计数器旨在以某种方式知道同一用户是否第二次返回该页面(因此不显示弹出窗口,您可以使用 localStorage,例如

    $(document).ready(function() {
        let beentheredonethat = localStorage.getItem('popupviewed')
        if (!beentheredonethat){
           setTimeout(function () {
              $('.popup2, .overlay2').fadeIn();       
           }, 1500);
           localStorage.setItem('popupviewed','true');
        }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多