我对JavaScript没有很好的了解,因此在开始之前。

我已经成功使用Mootools 1.1滚动到元素onClick事件。我在这里使用fx.scroll作为示例 http://demos111.mootools.net/fx.scroll 并基本上删除了演示代码。

注意:如果单击一个链接,然后快速单击另一个链接,它立即停止移动到第一个元素并滚动到第二个元素。

现在,我正在尝试使用Mootools 1.3将淡出的效率用于画廊,并使用更多的构建器来获得fx.scroll。它正在工作,但是当我单击一个链接然后立即单击另一个链接时,它只是在第一个滚动中继续。

看来该事件的停滞不起作用。

请参见示例 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
})

请在网站上查看任何其他源代码。

有帮助吗?

解决方案

使用FX选项对象的“链接”属性。默认值设置为“忽略”,这就是为什么原始动画继续运行的原因。相反,如果您希望它在当前动画之后运行,则使用“链”,如果您希望它中断当前运行的动画,则使用“取消”。

或者,使用更快的动画 - 两秒钟 真的 长! :)

var scroll = new Fx.Scroll('scrollcontainer', {
    wait: false,
    duration: 2000,
    offset: {'x': 0, 'y': 0},
    transition: Fx.Transitions.Quad.easeInOut,
    link: 'cancel'
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top