我需要添加一次加载的JavaScript加载函数

时间:2013-02-25 23:29:59

标签: javascript jquery function lightbox

我正在寻找一种方法来添加一个函数,告诉我的.playerWindow只使用cookie加载一次。现在它每次刷新页面时都会加载。

<script type="text/javascript">

    $(function () {

        $("#button").click(function () {
            $("#overlay").fadeTo(1000, .8);
            $(".playerWindow").show(750);
            //$("body").scrollTop(0);
        });

        $(".closePlayer, #overlay").click(function () {
            $(".playerWindow").hide(750);
            $("#overlay").fadeOut(1000);
        });

    });

    $(window).load(function () {
        if (document.cookie.indexOf('visited=true') === -1) {
            var fifteenDays = 1000 * 60 * 60 * 24 * 15;
            var expires = new Date((new Date()).valueOf() + fifteenDays);
            document.cookie = "visited=true;expires=" + expires.toUTCString();
            $("#overlay").fadeTo(1000, .8);
            $(".playerWindow").show(750);
        }
    });

</script>

1 个答案:

答案 0 :(得分:2)

$(window).load(function() {
  if (document.cookie.indexOf('visited=true') === -1) {
    var fifteenDays = 1000*60*60*24*15;
    var expires = new Date((new Date()).valueOf() + fifteenDays);
    document.cookie = "visited=true;expires=" + expires.toUTCString();
    $("#overlay").fadeTo(1000, .8);
    $(".playerWindow").show(750);
  }
});

为了澄清,这个HTML页面适用于我的Apache服务器。

<html>
    <head></head>
    <body>
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>
            $(window).load(function() {
           if (document.cookie.indexOf('visited=true') === -1) {
              var fifteenDays = 1000*60*60*24*15;
              var expires = new Date((new Date()).valueOf() + fifteenDays);
              document.cookie = "visited=true;expires=" + expires.toUTCString();
              alert("bam!");
         }
    });


         </script>
    </body>
</html>

显示“bam!”我第一次访问,然后没有第二次,第三次等。在Chrome中打开隐身窗口会导致它再次出现。