Jquery:需要帮助理解为什么它同时隐藏和显示列表元素,我在脚本中是否自相矛盾
Jquery: Need help understanding why its hiding and showing list elements at the same time, am i contradicting myself in the script?
(无动画:看起来不错)http://jsfiddle.net/nicktheandroid/4QaZD/
它是一个可筛选的列表。每个LI都包含一个隐藏的单词列表,当您在中键入其中一个隐藏单词时,会显示其父级(LI)。它在没有附加slideUp/slideDown或FadeIn/FadeOut动画的情况下工作得很好,但一旦我添加动画,它就会很快地slideDown然后slideUp,所以不知何故,我在脚本中自相矛盾,或者没有正确地分离功能?我花了这么多小时想弄清楚这一点,我的脑子都快累坏了。有人能告诉我我做错了什么吗?我很确定这会是我看不到的显而易见的事情。我所要做的就是让它向上/向下滑动,而不是立即隐藏/显示。
在第二个jsfiddle中,我用.slideDown(400)
替换了.removeClass("hidden")
,用.slideUp(400)
替换了.addClass("hidden")
(动画:有问题)http://jsfiddle.net/nicktheandroid/4Lcx3/
直到键入3个字符后,它才开始过滤。
每次击键都会将新效果添加到动画队列中,并且过滤的工作方式会不断变化,从而在之前的效果完成之前将更多效果添加到队列中。
在向队列中添加更多项目之前,应使用stop(true,true)
清除以前排队的项目。
示例:http://jsfiddle.net/niklasvh/HWnaT/
如果匹配的结果与上一次keydown之前的结果相同,您可能希望添加一些逻辑以避免执行任何操作。
相关文章:
- 将列表元素动画制作到顶部
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 使用Razor和javascript来获得下拉列表元素
- jQuery下拉列表未显示第一个选项
- 如何在 *ngFor 列表中显示单击的元素,使用 Angular 2 隐藏其他元素
- 如何在输入框中只显示名称,而在选择元素的下拉列表中显示名称和数字
- 一次显示n个列表元素,jQuery
- 使用 jquery 在下拉列表中显示元素
- D3在工具提示上将内部列表的元素显示为不同的行
- 使用jQuery显示鼠标悬停在列表元素上时的高亮效果
- 在下拉列表中显示元素- JavaScript/HTML
- 列表元素的动画在隐藏/显示时不起作用
- js:点击ui列表元素,将它们显示在页面的不同部分
- 用javascript创建的列表不显示来自HTML元素的列表数据
- 不要显示列表元素,直到链接被点击
- Jquery:需要帮助理解为什么它同时隐藏和显示列表元素,我在脚本中是否自相矛盾
- 如何使用带有 keyUp 函数的输入框来动态显示匹配的列表元素
- 显示/隐藏所有列表元素的效果
- 如何在单击列表元素后保持高亮显示
- Jquery隐藏/显示列表元素从ul