2012-12-05 142 views
2

在我的网站上,我有一个滑块只显示在主页上。我的主页看起来是这样的:显示Div每次访问一次

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

我的页面是一样的布局,但我只希望滑块div来显示第一页上。所以当用户第一次到达网站时,他们可以看到滑块,但是如果他们进入不同的页面,则滑块消失。

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

+2

等待 - 您希望滑块在主页或_any_页面上仅显示_only_,但仅在首次访问时显示?这个问题可以通过两种方式读取。 –

+1

如果他们回到主页,他们会再次看到它吗? – Cymen

+3

我建议您只使用服务器端代码将滑块div添加到主页。如果你不使用它,为什么要把它放在每一页上? –

回答

3

是的,有一种方法可以做到这一点。事实上,有多种方式。您可以使用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页面?因为显然你应该添加文档类型,标签等。

+0

每次访问一次,在网站上的任何地方,而不仅仅是在主页上? –

+0

@RazvanZamfir完全一样。只需在每个页面上放置相同的代码。 – Frog

2

当然,你可以使用:

  1. 饼干,可以从访问JS
  2. HTML5 WebStorage,这是一个伟大的地方太多,但仅适用于新的浏览器