Jquery 在同一页面一次弹出显示

Jquery popup display at once time on the same page

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

我遇到了这个问题,它在同一页面上反复显示,我希望它在同一页面上显示弹出窗口。当 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");
}

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

虽然我不知道你为什么需要计数器。相反,只需在页面加载时激活弹出窗口

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

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

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