2010-12-15 82 views
0

在開始之前,我沒有很好的理解Javascript,當另一個事件被觸發時,Mootools-FX.Scroll不會停止

我已成功使用Mootools 1.1滾動到元素onclick事件。我在這裏使用了FX.Scroll作爲示例http://demos111.mootools.net/Fx.Scroll,並基本剝離了演示代碼。

注意:如果點擊一個鏈接,然後快速點擊一個鏈接,它會立即停止移動到第一個元素並滾動到第二個元素。

我現在正在嘗試使用Mootools 1.3爲圖庫使用淡入淡出效果,並使用了更多生成器來獲取FX.Scroll。這是工作,但當我點擊一個鏈接,然後馬上另一個,它只是繼續第一次滾動。

看來,event.stop不起作用。

見例如http://www.mytimephotography.co.uk <工作 http://www.mytimephotography.co.uk/test <破

我使用代碼:

window.addEvent('domready', function() { 
    var scroll = new Fx.Scroll('scrollcontainer', { 
    wait: false, 
    duration: 2000, 
    offset: {'x': 0, 'y': 0}, 
    transition: Fx.Transitions.Quad.easeInOut 
    }) 
    $('link1').addEvent ('click', function(event){ 
    event = new Event(event).stop(); 
    scroll.toElement('c1'); 
    }) 
    //etc 
}) 

請查看網站上的任何其他源代碼。

回答

3

使用Fx選項對象的「鏈接」屬性。默認設置爲「忽略」,這就是原始動畫繼續運行的原因。相反,如果您希望它在當前動畫之後運行,請使用「鏈」;如果您要它中斷當前正在運行的動畫,請使用「取消」。

或者,使用更快的動畫 - 兩秒鐘是真的是長! :)

var scroll = new Fx.Scroll('scrollcontainer', { 
    wait: false, 
    duration: 2000, 
    offset: {'x': 0, 'y': 0}, 
    transition: Fx.Transitions.Quad.easeInOut, 
    link: 'cancel' 
}); 
+0

非常感謝兄弟,現貨。 – Yeodave 2010-12-21 12:44:02

相關問題