3

在我的网站上,我有一个只显示在主页上的滑块。我的主页看起来像这样:

<body>
  <div class="wrapper">
     <div class="header"></div>
     <div class="slider"></div>
   <div class="maincontent"></div>
 </div>
</body>

我的页面是相同的布局,除了我只希望 Slider div 显示在第一页上。所以当用户第一次到达网站时,他们可以看到滑块,但如果他们转到不同的页面,滑块就消失了。

我想知道是否有办法做到这一点,jquery?饼干?如果有人有任何建议,请告诉我我将如何做到这一点。谢谢!

4

3 回答 3

4

是的,有办法做到这一点。事实上,有多种方式。您既可以使用 Javascript 也可以使用 PHP 等服务器端脚本语言来实现。我建议使用服务器端脚本语言,因为如果页面不使用,那么添加元素是没有意义的,而它确实会占用少量带宽。无论如何,使用这两种方法的示例如下:

使用 PHP:

<body>
<div class="wrapper">
<div class="header"></div>
<?php

if (!isset($_COOKIE['visisted'])) {
    setcookie('visited', true, time() + 3600 * 24); // Save a cookie for 1 day
    echo '<div class="slider"></div>';
}

?>
<div class="maincontent"></div>
</div>
</body>

并使用 Javascript:

<head>
<style type="text/css">
div#slider {
    /* Hide the div */
    display: none;
}
</style>
</head>

<body>
<div class="wrapper">
<div class="header"></div>
<div class="slider"></div>
<div class="maincontent"></div>
</div>

<script type="text/javascript">
var cookie = document.cookie;
if (cookie.indexOf('visited=', 0) == -1) {
    var expiration = new Date();
    expiration.setDate(expiration.getDate()+1);
    document.cookie = 'visited=1;expires=' + expiration + ';path=/';

    var element = document.getElementById('slider');
    element.style.display = 'block';
}
</script>
</body>

顺便说一句,我认为这不是您的整个 HTML 页面?因为显然你应该添加一个文档类型、标签等。

于 2012-12-05T18:56:07.323 回答
2

当然,您可以使用:

  1. 可以从js访问的cookies
  2. HTML5 WebStorage,这也是一个很棒的地方,但只适用于新的浏览器
于 2012-12-05T18:37:42.170 回答
0

如果您没有绑定到浏览器,我建议您使用 HTML5 LocalStorage 变量。

http://www.w3schools.com/html/html5_webstorage.asp

但是,如果您应该独立于浏览器(支持 IE6 等),我会使用 cookie 或访问 IP 的数据库。

于 2012-12-05T18:38:09.410 回答