Javascript JQuery.slideToggle()在某些div上的奇怪行为

Javascript JQuery.slideToggle()在某些div上的奇怪行为,javascript,jquery,html,Javascript,Jquery,Html,我正在为一个朋友制作一个小网站,我需要制作一个有链接的页面。每个链接都会触发一个Jquery.slideToggle()来显示同一页面中的相关div 我注意到,在使用最新版本的Google Chrome时,当最后一个页面元素触发.slideToggle()时,它有一个奇怪的动画:当其他div按预期进行切换时,最后一个div似乎比其他div切换得“慢”且“流畅” HTML: 这是我的建议 提前感谢您为我提供的任何帮助。您应该使用一个值,而不是“slow”,对我来说,它似乎可以解决问题。 此外,我建

我正在为一个朋友制作一个小网站,我需要制作一个有链接的页面。每个链接都会触发一个Jquery.slideToggle()来显示同一页面中的相关div

我注意到,在使用最新版本的Google Chrome时,当最后一个页面元素触发.slideToggle()时,它有一个奇怪的动画:当其他div按预期进行切换时,最后一个div似乎比其他div切换得“慢”且“流畅”

HTML:

这是我的建议


提前感谢您为我提供的任何帮助。

您应该使用一个值,而不是“slow”,对我来说,它似乎可以解决问题。
此外,我建议在函数末尾添加
return false
,以防止视图再次转到页面顶部。

我看不出所有元素之间的区别,动画似乎在每个元素上都不起作用

在这种情况下,问题在于
p的本机
margin
h2的
margin top
。这似乎与jQuery
slideToggle()
函数为元素提供的
overflow
属性有关。一种解决方法是从这些元素中删除边距,并将
边距底部
赋予
.info
以保持相同的原始边距

p { margin: 0 }
h2 { margin-top: 0}
.info { margin-bottom: 19px }

以下是解决方法。

将此添加到css中,可以修复跳转:

h2, p { margin-bottom: 0; }
p { margin: 0 }
h2 { margin-top: 0}
.info { margin-bottom: 19px }
h2, p { margin-bottom: 0; }