2012-11-13 53 views
1

我正在開發一個項目,我希望能順利地進行滾動。我查看了關於該主題的所有mootools.net和this post from David Walsh的文檔。複製粘貼代碼看起來不起作用,我看到的唯一區別是使用的MooTools版本(此處爲1.4.5) - 並且函數名稱似乎與1.2相同。 Chrome 23會拋出錯誤「Uncaught TypeError:undefined不是函數」,但我在Firebug中找不到錯誤。不在Firefox中正確滾動。MooTools Fx.SmoothScroll for internal links not working on our site

代碼:

<!DOCTYPE html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js"></script> 
<script type="text/javascript"> 
    window.addEvent('domready',function() { 
     new Fx.SmoothScroll({ 
      duration: 200 
     },window); 
    }); 
</script> 
</head> 

<body> 
<a href='#one'>One</a> 
<h3 id="one">One</h3> 
</body> 

我也比較新的JavaScript一樣,所以,如果你能解釋的過程中,它會幫助很多!提前致謝。

回答

1

看起來我已經得到它在這個jsFiddle工作。也許這會讓你知道發生了什麼? http://jsfiddle.net/6NNBV/

更新

有它在頁面加載時加載,試試這個:

window.addEvent('domready', function() { 
    new Fx.SmoothScroll(); 
}); 

編輯:下面否認:

相信頁面的錨不工作的目標元素的id,而是name屬性。

嘗試向h3元素添加name屬性。

+0

太棒了!如果我更多地刪除MooTools腳本不起作用。我發現它已經開始工作'onLoad'。我如何在HTML中包裝我的代碼來做到這一點?我試過'window.onload = new Fx.SmoothScroll();'無濟於事。 編輯:此代碼不再位於元素中。 – bl00dyg33k

+0

這是正確的,Fx.SmoothScroll是一個Mootools More功能,所以它需要運行。看到我更新的答案,不知道爲什麼'window.onload'不會工作... –

+1

謝謝!解決了。我改變的是將代碼從頭部移動到身體並添加MooTools More。可能更多是什麼。不知道我是如何錯過的。 – bl00dyg33k