2013-06-19 105 views
1

後,我才能順利向下滾動被點擊我的導航元素時,正在使用該腳本避免頁面返回頂部裝載

jQuery(document).ready(function($) { 
$(".scroll").click(function(event){ 
event.preventDefault(); 
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 2000); 
}); 
}); 

...問題是,如果一個鏈接頁面之前完成點擊加載完成後,頁面將再次返回頂部。

我以爲event.preventDefault();是爲了避免這一點。請幫助。

+0

我試圖用虛假的回報,而不是event.preventDefault但沒有工作...我真的不知道該怎麼辦。 –

回答

0

您應該使用document.onLoad事件。

在將所有HTML放入文檔並準備解析之後,調用document.ready。

另一方面,onLoad在所有圖像/資源加載到頁面後也會被調用。

如果您等待這個事件,那麼你應該有想要的結果。儘管在此之前他們不會有任何點擊功能。

此外,preventDefault並不避免這種情況。所有這些都會禁用您將其應用到的元素的默認操作。所以預防的任何默認操作將是你的「滾動」元素

+0

我認爲onload是一個非常漫長的等待導航正常工作...因爲它等待一切都被加載。我是對的? –

+0

取決於內容,是的,它可能需要一段時間。我不知道如何防止滾動條重置。 – 75inchpianist