将延迟的div隐藏到新访问者,立即显示给回​​访者

时间:2015-10-13 22:39:06

标签: javascript jquery

我在本网站的其他地方发现了类似的代码,但无法让它适用于我的情况。

我正在尝试延迟向新访客显示div(在这种情况下延迟8秒),但如果设置了Cookie,则会立即向RETURNING访客显示div。

目前,似乎第一部分工作 - 在8秒后向新访客显示div - 我的代码设置了cookie但第二部分 - 立即向返回的访客显示div - 不起作用事实上,似乎从来没有显示div内容。

我已经尝试了一切我能想到的东西,但没有运气。

以下是HEAD部分中的相关代码(包括cookie代码):

<script type="text/javascript">
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;
}

</script>

<script type="text/javascript">
function showbox() {
    document.getElementById("show-this").style.visibility = "visible";
}
if (!readCookie('visitedPreviously')) { //if he/she is a new user
     setTimeout("showbox()", 8000); // after 8 secs    createCookie('visitedPreviously', 'visitedPreviously', 3); // 365 days persistence
}
</script>
<div id="show-this" style="visibility: hidden"><div class="center-this"><a href="mylink" target="_blank"><img src="mysource" alt="some text" /></a></div>
</div>

我已经尝试将“功能showbox”移动到BODY,尝试使用该函数内的if / else语句,将代码移动到.js文件,使用css等等,但现在我只需要一些帮助,因为我显然不喜欢我不知道我在做什么。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

if (!readCookie('visitedPreviously')) { //if he/she is a new user
  setTimeout("showbox()", 8000); // after 8 secs 
  createCookie('visitedPreviously', 'visitedPreviously', 3); // 365 days persistence
} else {
  showbox();
}

你忘记了其他的事情:)