JQuery IE快速滑动动画
我有以下代码来设置div的显示/隐藏动画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(惊喜
$(".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的所有填充物/边距?是的,已经去掉了填充物/边距。问题似乎是我使用了标签,将它改为标签,它工作得很好,谢谢。