jquery向上/向下滑动没有动画

时间:2017-11-09 19:01:21

标签: javascript jquery html css

我正在尝试在到达#preFooter的顶部时隐藏导航元素。

我已经开发了nav元素以实现移动响应,因此创建了.tab-wrap.tab-wrap-mobile

当我到达#preFooter的顶部时,允许这两个项目滑开,我已将它们包裹在.tab-wrap-all中。

然而,jQuery的slideUp(); / slideDown();方法并不像它们应该的那样顺利运行。

我预感到我如何在css中设置display配置,以便使用媒体查询隐藏元素。但我似乎无法弄明白。

到目前为止,这是小提琴:https://jsfiddle.net/gavinfriel/0x68f545/

2 个答案:

答案 0 :(得分:0)

尝试为slideUp()和slideDown()函数添加更长的持续时间(默认值为400)

答案 1 :(得分:0)

问题是由于子Observable元素上的position: fixed造成的。

这会阻止slideDown / slideUp工作,因为您尝试动画的元素在视觉上不包含其中的固定元素 - 固定元素相对于文档定位,而不是任何其他包含元件。当jQuery试图为.tab-wrap的高度设置动画时,它没有高度,所以没有动画效果。内部的固定元素仅受动画结束时发生的.tab-wrap-all的影响。

如果您将此固定定位应用于您正在设置动画的display: none元素,它将正常工作。

更新了小提琴:https://jsfiddle.net/trijammer/0x68f545/3/