JQuery IE快速滑动动画

JQuery IE快速滑动动画,jquery,internet-explorer,Jquery,Internet Explorer,我有以下代码来设置div的显示/隐藏动画 $(".headerClosed, .headerOpen").live("click", function(){ $(this).next().slideToggle("slow"); } 这将显示和隐藏具有以下标记的div: <div class="details"> <p>Date</p> <p>Text</p> </div> 日期 正文 问题在于IE(惊喜

我有以下代码来设置div的显示/隐藏动画

$(".headerClosed, .headerOpen").live("click", function(){
  $(this).next().slideToggle("slow");
}
这将显示和隐藏具有以下标记的div:

<div class="details">
  <p>Date</p>
  <p>Text</p>
</div>

日期

正文

问题在于IE(惊喜,惊喜!)当div向下滑动时,动画是平滑的,直到最后猛拉为止。我知道这是由于div的填充/边距设置造成的


如果我使用a而不是,则动画是平滑的,但只要我向动画添加任何填充或边距,动画就会抖动。如果填充和边距设置使一个漂亮的div变得急促,你怎么能用空格滑下它呢?

将该div包装到另一个div中。将填充/边距添加到内部div中,并调用外部div上的动画

<div class="details">
   <div class="hasMargins">
    <p>Date</p>
     <p>Text</p>
   </div>
</div>

日期

正文


我也有同样的问题,我所做的是在幻灯片中设置边距和填充的动画:

$(this).next().slideToggle("slow");
$(this).next().animate({ margin: "XXpx", padding: "XXpx" }, "slow");

将它们都设置为“慢”将确保它们同时完成。

您的边距可能会崩溃。当您将
浮动
溢出:自动
溢出:隐藏
应用于滑动元素时,应不再发生这种情况


jQuery在动画期间设置
溢出:隐藏
,这样边距就不会折叠。动画完成后,此属性将被删除。
的边距再次塌陷,因此在结尾处会有一点跳跃。

看起来没有什么区别,得到了相同的跳跃。而且你肯定已经去掉了外层div的所有填充物/边距?是的,已经去掉了填充物/边距。问题似乎是我使用了标签,将它改为标签,它工作得很好,谢谢。