2013-04-23 69 views
0

我使用jmpress.js爲我的網站,你可以得到特定的內容/幻燈片錨點如下:index.htm#/ slide1,index.htm#/ slide2等如果頁面加載錨,然後

我還使用像

$('.click').click(function() { 
    $(".menu").animate({ top: '+=100' }); 
    $("#logo").fadeToggle(); 
}); 

碼顯示和隱藏不同的東西,以獲得另一張幻燈片時(如果用戶對「點擊」另一張幻燈片從底部進來,用戶點擊更換主場頁)。 這顯然只有在你始終從「開始」頁面開始(沒有任何錨點)的情況下才起作用。

但是,當您直接使用url index.htm#/ slide1訪問頁面時,這兩個項目顯然不會顯示或隱藏 - 只要用戶位於除開始頁面之外的任何網站上,它們就會自動啓動。 有沒有簡單的方法(我不知道編碼)來做到這一點?

所以基本上是這樣的:

IF anchor #slide1, #slide2 { 
    $(".menu").animate({ top: '+=100' }); 
    $("#logo").fadeToggle(); 
}); 

回答

2
if (window.location.hash){ 
     var hash = window.location.hash.substring(1); 
     if (hash == "slide1" || hash == "slide2"){ 
     $(".menu").animate({ top: '+=100' }); 
     $("#logo").fadeToggle(); 
     } 
} 

http://curtistimson.co.uk/js/reading-url-hashtag-values/

+0

只是一個快速的問題。這似乎只工作,如果我重新加載頁面(具體散列/錨點),但不是當我只是輸入網址與哈希? – Grimwood 2013-04-23 14:16:17

+0

@Simon在'hashchange'事件處理程序中運行你的代碼。看到這個SO帖子瞭解更多信息:http://stackoverflow.com/questions/8212845/how-to-detect-url-changes-with-jquery – Curt 2013-04-23 14:58:07

相關問題