一尘不染

每个用户仅显示一次弹出窗口

javascript

这个问题已经有了答案,但是我仍然不确定它是如何工作的。

我在footer.php中使用以下HTML:

<div id="popup">
    <div>
        <div id="popup-close">X</div>
            <h2>Content Goes Here</h2>
    </div>
</div>

和以下Javascript:

$j(document).ready(function() {
    $j("#popup").delay(2000).fadeIn();
    $j('#popup-close').click(function(e) // You are clicking the close button
    {
    $j('#popup').fadeOut(); // Now the pop up is hiden.
    });
    $j('#popup').click(function(e) 
    {
    $j('#popup').fadeOut(); 
    });
});

一切都很好,但是我只想对每个用户显示一次弹出窗口(也许使用所有论坛帖子都使用的cookie内容),但是我不知道确切如何将其合并到上面的JS中。

我知道我将必须在此页脚中加载cookie JS:

<script type="text/javascript" src="scripts/jquery.cookies.2.2.0.min.js"></script>

但这就是我的全部理解,有人能告诉我添加了Cookie的东西后JS / jQuery的外观如何吗?

谢谢


阅读 255

收藏
2020-05-01

共1个答案

一尘不染

*注意:由于数据存储在浏览器内存中,因此每个浏览器都会显示一次弹出窗口。

试试HTML localStorage

方法 :

  • localStorage.getItem('key');
  • localStorage.setItem('key','value');

$j(document).ready(function() {
    if(localStorage.getItem('popState') != 'shown'){
        $j("#popup").delay(2000).fadeIn();
        localStorage.setItem('popState','shown')
    }

    $j('#popup-close, #popup').click(function(e) // You are clicking the close button
    {
        $j('#popup').fadeOut(); // Now the pop up is hiden.
    });
});
2020-05-01