【问题标题】:Javascript Timer / Bootstrap / WordpressJavascript 计时器/引导程序/Wordpress
【发布时间】:2016-02-11 11:19:36
【问题描述】:

我在我的 Wordpress 主题中使用 Twitters Bootstrap 中的一小段代码。有没有办法当用户关闭窗口时,即使刷新后它也保持关闭状态?我需要在会话的剩余时间或至少一个小时内保持关闭窗口。

刷新后窗口会重新出现。

<div class="alert alert-note alert-dismissible fade in" role=alert>
                <button type=button class=close data-dismiss=alert aria-label=Close>
                    <span aria-hidden=true>&times;</span>
                </button>
                <h2>Upgrade to Pro for £2</h4>
                <p>Upgrade to a voclr.it Pro Account for just £2 a month and unlock many great features.</p>
                <div class="row">
                    <div class="col-sm-4">
                        <h4>Previews</h4>
                        <img src="<?php bloginfo('template_url') ?>/img/start4.png" alt="start4" width="64" height="64">
                    </div>
                    <div class="col-sm-4">
                        <h4>Premium Sample Packs</h4>
                        <img src="<?php bloginfo('template_url') ?>/img/pulse2.png" alt="pulse2" width="64" height="64">
                    </div>
                    <div class="col-sm-4">
                        <h4>No More Adverts</h4>
                        <img src="<?php bloginfo('template_url') ?>/img/forbidden.png" alt="forbidden" width="64" height="64">
                    </div>
                </div>

            </div>

【问题讨论】:

  • 你试过localStorage吗?

标签: javascript wordpress twitter-bootstrap


【解决方案1】:

更准确地说,这是一个使用本地存储 sessionStorage 的示例。

https://jsfiddle.net/Pigbot/dwbynr6y/

//Check if 'hidden' variable is defined
if (typeof (hidden) !== 'undefined') {
// If the 'hidden' variable is defined don't do anything
} else {
    // If the 'hidden' variable is NOT defined
    // Check if browser supports Local Storage
    if(typeof(Storage) !== "undefined") {
        // Set the 'hidden' variable to the value of the local storage item
        var hidden = sessionStorage.getItem("theDiv");

            // If the 'hidden' variable is set to the string 'hidden' the hide the div
            if(hidden === "hidden"){
                $('.alert-dismissible').hide();
            }

        //If the 'hidden' variable is not set to the value of the local
        //storage item then the div will be visible and so will the button

        //Click function on buttom to set the local storage and fadeout the div
        $('button.close').click(function(){
            sessionStorage.setItem("theDiv", "hidden");
            hidden = sessionStorage.getItem("theDiv");
            $('.alert-dismissible').fadeOut();
        });

    } else {}
}

//This button is an example of removing the item from local storage
$('button.clear').click(function(){
    sessionStorage.removeItem("theDiv");
});

window.localStorage - 存储没有过期日期的数据

window.sessionStorage - 存储一个会话的数据(关闭浏览器选项卡时数据丢失)

【讨论】:

  • 这很好用,我不太擅长 JS,但我会好好看看这个并从中学习。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-31
  • 2021-07-22
  • 2018-11-26
相关资源
最近更新 更多