0

我的网站上有这个文本横幅。我希望它只向使用 cookie 的新访问者显示。我对 JS 知之甚少,所以请帮助我如何仅向首次访问者展示它。

我在基于 Discourse 的这个 Android 论坛站点上使用它,该站点已经基于 Node.js 构建。

<style>
.top  {
  background: linear-gradient(to right, #141517, #6A9113);
    border-radius: 10px;
    font-size: 20px;
    color: white;
    opacity: 0.9;
    text-align: center;
    padding: 25px;
    line-height: 30px;
    margin: 10px 0px 30px 0px;

}
</style>


<div class="top">
Welcome to the forum. This is demo text.
</div>
4

2 回答 2

0

去这个代码:

.top应该是默认的display: none;

$(document).ready(function() {
     var visited = $.cookie("visited")
     if (visited == null) {
         $('.top').show();
         alert($.cookie("visited"));         
     }
     $.cookie('visited', 'yes', { expires: 1, path: '/' });
});
于 2017-04-24T10:11:28.030 回答
0

这是完整的代码......工作演示https://jsfiddle.net/hdas2012/6yjo346k/

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>

<div class="top">
<h2>You will only see it once</h2>
  Welcome to the forum. This is demo text.
</div>

<script>
    $(document).ready(function(){
      if(!$.cookie('welcomeMsg')){
        $(".top").show();
        $.cookie('welcomeMsg', 'Y', { expires: 365*3 });
      }
    });
</script>
<style>
    .top  {
      background: linear-gradient(to right, #141517, #6A9113);
        border-radius: 10px;
        font-size: 20px;
        color: white;
        opacity: 0.9;
        text-align: center;
        padding: 25px;
        line-height: 30px;
        margin: 10px 0px 30px 0px;
        display: none;
    }
</style>
于 2017-04-24T10:40:09.890 回答