每个用户会话只显示一次div?

时间:2016-12-09 22:40:37

标签: javascript jquery

如何做到这一点?我有jQuery,如果这会有所帮助。

<div id="RLAD-wrapper">
    <div id="RLAD">
        <p>stuff</p>
    </div>
</div>

3 个答案:

答案 0 :(得分:0)

<script>
if(localStorage.getItem("iknowyou")){

document.body.innerHTML+="You were already here";
}else{
document.body.innerHTML+="Oh. A new guest...";
localStorage.setItem("iknowyou",true);
}
</script>

请参阅MDN上的localStorage或google一些示例

答案 1 :(得分:0)

您也可以使用Cookie:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>
<div class="mydiv" style="display: none;">
    this is a div
</div>
<script
        src="https://code.jquery.com/jquery-3.1.1.slim.min.js"
        integrity="sha256-/SIrNqv8h6QGKDuNoLGA4iret+kyesCkHGzVUUV0shc="
        crossorigin="anonymous"></script>
<script>
    $(function() {
        // Cookies
        function setCookie(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 getCookie(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;
        }

//        Validate cookie
        var myCookie = getCookie("MyCookie");
        if (myCookie == null) {
//                alert('No cookei');
            $('.mydiv').css('display','block');
            setCookie("MyCookie", "foo", 7);
        }
        else {
//                alert('yes cookei');
            $('.mydiv').css('display','none');
        }
    });
</script>
</body>
</html>

答案 2 :(得分:0)

以下代码将localStorage中的项目设置为Date.now,并检查它是否过去3天。该项目的设置位于else语句中,以防止用户每次运行网站时都会重置时间。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Put anything you want here</title>
    </head>
    <body>
        <div id="aDiv">
            Div content
        </div>
        <script>
            if(Date.now() - parseInt(localStorage.getItem("pageVisitedTime").getTime(), 10) < 2.592e+8){
                document.getElementById("aDiv").style.display = "none";
            }
            else{
                localStorage.setItem("pageVisitedTime", "" + Date.now());
            }
        </script>
    </body>
</html>