【问题标题】:jQuery slideUp/Down and fadeOut/In stops halfwayjQuery slideUp/Down 和 fadeOut/In 中途停止
【发布时间】:2012-08-03 19:36:08
【问题描述】:

这是小提琴:

http://jsfiddle.net/4mmk2/

快速点击按钮会导致动画中途暂停。我怀疑这是 stop() 函数的问题,但我找不到解决方法。 顺便说一句,我使用 stop 来阻止 jQuery 将所有滑动动画放入队列中。

【问题讨论】:

    标签: jquery fadein fadeout slidedown slideup


    【解决方案1】:

    toggle() 已弃用,您可以尝试slideToggle()

    $('a').click(function(e) {
        e.preventDefault();
        $('div').stop(true,true).slideToggle()
    })
    

    http://jsfiddle.net/4mmk2/3/

    【讨论】:

    • 从什么时候开始不推荐使用 toggle()?
    • @j08691 从 jQuery 1.7 开始,toggle() 作为事件已被弃用。 api.jquery.com/category/deprecated
    • 感谢您的回答和信息。只是好奇,我注意到如果我将 stop() 的第二个参数设置为 false,我的问题仍然存在。有没有办法在不让动画跳到终点的情况下仍然解决问题?
    • 是的,它适用于 jsfiddle,但不适用于我的页面。我会尝试修复它。谢谢。
    【解决方案2】:

    试试:

    $('a').toggle(function() {
        $('div').stop(1,1).slideUp()
    }, function() {
        $('div').stop(1,1).slideDown()
    })​
    

    jsFiddle example

    将 stop 方法的 clearQueue 和 jumpToEnd 属性设置为 true。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多