仅在第一次使用Cookies加载页面时显示加载动画?

时间:2016-06-11 13:44:46

标签: javascript jquery html cookies pageload

我在HTML页面上有加载动画,它工作正常。问题是每当页面刷新时,加载动画再次出现,我想将其限制为仅首次加载页面。

我使用cookie来解决问题,我从stackoverflow问题中获取了一个参考: load an ad (div) just once on first load。我使用完全相同的代码,在那里回答,只是替换了我的身份。

$(document).ready(function() {
if (!readCookie("adSeen")) {
    $("#loading").fadeOut("slow");
    createCookie("adSeen", "1", 1000);
}});

其余代码相同。我的cookie已启用,但它无效。帮我解决一下。

这是我的代码:https://jsfiddle.net/mytest_jsfiddle/ojo2mosd/5/

1 个答案:

答案 0 :(得分:2)

将您的代码更改为

  $(document).ready(function() {
     if (!readCookie("adSeen")) {
    $("#loading").fadeIn("slow");
    createCookie("adSeen", "1", 1000);
}
    });

    function createCookie(name, value, days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = "; expires=" + date.toGMTString();
        } else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    }

供参考,请参阅下面的小提琴:

https://jsfiddle.net/aman_chhabra/fguq4hnd/1/

希望有所帮助。