0
我试图用下拉菜单创建一个侧栏。我为下拉动画使用Jquery的slideToggle()
函数。我的问题是,当下拉动画上下隐藏其他下拉菜单时,动画显得波涛汹涌。我已阅读了一些选项,但似乎无法找到适合我的解决方案。jQuery slideToggle在下拉动画结束时跳转
我设法重新与这里的jsfiddle边栏: https://jsfiddle.net/jckly/54m54jq3/
感谢您的帮助。
我试图用下拉菜单创建一个侧栏。我为下拉动画使用Jquery的slideToggle()
函数。我的问题是,当下拉动画上下隐藏其他下拉菜单时,动画显得波涛汹涌。我已阅读了一些选项,但似乎无法找到适合我的解决方案。jQuery slideToggle在下拉动画结束时跳转
我设法重新与这里的jsfiddle边栏: https://jsfiddle.net/jckly/54m54jq3/
感谢您的帮助。
这是由于你的动画项目的填充。基本上,jQuery必须对高度和填充都进行动画处理,这使得它不太流畅。看到这个版本没有填充: https://jsfiddle.net/54m54jq3/1/ 我建议在每个菜单项中添加另一个div,并对其应用填充。
编辑: https://jsfiddle.net/54m54jq3/2/
$('.dropdown').on('click', function() {
var continent;
$('.dropdown').not(this).slideToggle(300, function() {
continent = $(this).clone().children().remove().end().text().toLowerCase().trim();
continent = '.' + continent;
console.log(continent);
$(continent).slideToggle(300);
});
});
点击周围的下拉菜单中多了几分的无填充:直到别人都完成了隐藏尝试在你的JS使用回调,这样你就不会打开一个菜单小提琴你已经做出了,你会看到问题仍然存在。感谢您的帮助。 – jckly 2015-02-11 15:11:54
请看我更新的答案。我认为现在看起来更加流畅。 – kthornbloom 2015-02-11 15:22:41
同意!在更新后的答案中,动画看起来更平滑,但通过单击时显示错误的孩子li,下拉显示异常。 – jckly 2015-02-11 15:36:31