2012-12-05 145 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,這是一個偉大的地方太多,但僅適用於新的瀏覽器