2015-02-11 70 views

回答

1

这是由于你的动画项目的填充。基本上,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); 
    }); 
}); 
+0

点击周围的下拉菜单中多了几分的无填充:直到别人都完成了隐藏尝试在你的JS使用回调,这样你就不会打开一个菜单小提琴你已经做出了,你会看到问题仍然存在。感谢您的帮助。 – jckly 2015-02-11 15:11:54

+0

请看我更新的答案。我认为现在看起来更加流畅。 – kthornbloom 2015-02-11 15:22:41

+0

同意!在更新后的答案中,动画看起来更平滑,但通过单击时显示错误的孩子li,下拉显示异常。 – jckly 2015-02-11 15:36:31