2010-08-09 19 views
3

我有一個簡單的腳本在網站主頁掉色褪色,是這樣的:jQuery的:在網頁中只有一次

jQuery(document).ready(function(){  
    $('body.home').hide(); 
    $('body.home').fadeIn('slow'); 
}); 

不過,我想劇本的工作只有一次,一旦網站最初加載。在隨後的點擊時,比如用戶轉到輔助頁面然後返回到主頁時,我不希望主頁再次淡入,它應該只是網頁加載而沒有淡化。

有沒有辦法只用jQuery代碼來做到這一點,也許某種方式只執行一次函數,然後停止執行?任何提示和代碼片斷將不勝感激!

+0

你想這個淡入淡出發生一次「瀏覽會話」,或只是他們第一次訪問該網站(即,如果他們返回一個月後,仍然沒有淡化......)? – jmar777 2010-08-09 12:26:00

回答

0

如果你只通過電話AJAX加載網站的「其他地區」,你可以存儲在全局JavaScript命名空間的值只是表明您已經執行該操作。

否則,你正在做一個完整的頁面刷新(重定向到另一個網站)沒有乾淨的JavaScript解決方案。在這種情況下,您需要存儲cookie,使用local storage或啓用服務器腳本。

+0

我明白了。我只是希望有一種方法可以阻止重複執行的功能,所以在當前的瀏覽器會話期間不會出現褪色,但我明白了關於「完成頁面刷新」的說法。我猜設置cookie將是唯一的解決方案。謝謝大家! – ninusik 2010-08-09 12:47:22

8

您可以設置一個cookie。

$(function() { 
    if ($.cookie("loaded") != "true") { 
     $('body.home').hide().fadeIn('slow'); 
     $.cookie("loaded", "true"); 
    } 
}); 
1

,你可以潛入PHP的世界和檢查,看看是否存在會話,如果在沒有一個..褪色英寸 如果你想沿着這條路走下去

一個我可以張貼一些代碼快速閱讀,如果你的新的PHP和會話: http://www.tizag.com/phpT/phpsessions.php