javascript - Jquery:需要帮助理解为什么它同时隐藏和显示列表元素,我在脚本中自相矛盾吗?

标签 javascript jquery animation hide show

(无动画:看起来不错)http://jsfiddle.net/nicktheandroid/4QaZD/

它是一个可过滤的列表。每个 LI 都包含一个隐藏的单词列表,当您键入其中一个隐藏单词时,会显示其父项(LI)。它在没有附加 slideUp/slideDown 或 FadeIn/FadeOut 动画的情况下工作正常,但是一旦我添加动画,它会 slideDown 然后 slideUp 非常快,所以不知何故我在脚本中自相矛盾,或者没有正确分离功能?我花了很多时间试图解决这个问题,我的大脑被绞尽脑汁。有人可以告诉我我做错了什么吗?我很确定它会是一些我无法看到的显而易见的东西。我想要做的就是让它向上/向下滑动而不是即时隐藏/显示。

在第二个 jsfiddle 中,我用 .slideDown(400) 替换了 .removeClass("hidden") 并替换了 .addClass("hidden").slideUp(400)

(动画:有问题)http://jsfiddle.net/nicktheandroid/4Lcx3/

输入 3 个字符后才开始过滤。

最佳答案

每次击键都会向动画队列添加新效果,并且过滤的工作方式会不断变化,从而导致在之前的效果完成之前将更多效果添加到队列中。

在向队列中添加更多项目之前,您应该使用 stop(true,true) 清除之前排队的项目。

示例:http://jsfiddle.net/niklasvh/HWnaT/

如果匹配结果与上一次按键之前的结果相同,您可能希望添加一些逻辑来避免执行任何操作。

关于javascript - Jquery:需要帮助理解为什么它同时隐藏和显示列表元素,我在脚本中自相矛盾吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397479/

相关文章:

javascript - 在桌面上向下滚动但不是在移动设备上向下滚动的三个 js 动画?

.net - 椭圆绘图 WPF 动画

javascript - `jshint globalstrict: true` 与 'use strict' 的用途

javascript - 选择框在转换后在 Firefox 中移动 :scale()

javascript - 单击链接时显示加载(除了 ctrl+click)

javascript - 从 1 到 5 循环数组,如果达到 5,则重新开始 (JavaScript)

swift - 如何创建特定的动画

javascript - 如果客户端时间提前或落后,如何在客户端获取准确的 UTC/GMT 时间?

javascript - 用于选项卡式内容的 jquery ui 小部件

javascript - 向数据表行添加多个自定义属性