2010-02-22 18 views
1

我正在實現一個jQuery插件(localscroll)平滑滾動到具有頁面的命名錨元素。 localscroll支持一個名爲「hash」的選項,它基本上做的是將指定的錨點哈希附加到URL中,使用戶可以使用瀏覽器的後退/前進按鈕輕鬆書籤和移動。localscroll的散列選項,在滾動時閃爍頁面。我如何使滾動平滑


HTML

<ul id="navigation" class="main_menu"> 
    <li><a href="#panel_home">Home</a></li> 
    <li><a href="#panel_story">Story</a></li> 
    <li><a href="#panel_mantra">Mantra</a></li> 
    <li><a href="#panel_showcase">Showcase</a></li> 
    <li><a href="#panel_experience">Experience Us</a></li> 
</ul> 

Javascript (jquery)

$(document).ready(function() { 
    $("#navigation").localScroll({ 
     offset: {left: 0, top: -56}, 
     hash: true, 
     easing: 'easeInOutExpo' 
    }); 
}); 

上面的代碼運行正常,但如果點擊了一個鏈接滾動與閃爍開始(可能是因爲瀏覽器的默認行爲是跳轉到指定的錨點)。這種閃爍的東西在Firefox中比Chrome或Safari更明顯,並且是一個很大的NO-NO。我如何使地址欄反映當前命名錨點的過渡順利?任何幫助深表感謝。感謝名單!

+0

來自blog ::哈希選項在滾動元素時不是太酷,它主要是在滾動窗口時推薦的。所以頁面不應該跳躍,因爲'哈希'(它被添加到動畫結尾) – 2010-02-22 09:32:15

+0

@Juraj我讀過文檔。有沒有其他選擇(使用Javascirpt)來散列? – detj 2010-02-22 10:39:46

回答

0

我發現爲什麼我的頁面在點擊與localscroll映射的鏈接後閃爍。我在localscroll.js文件後面加入了jquery.js文件,這導致了這種奇怪的行爲。所以,我在一個.js文件中包含了我在腳本中使用的所有jquery,localscroll,easing和其他javascript的縮小版本,並解決了這個問題。