1

我遇到了以下代码的问题,它创建了一些奇怪的动画,其中一个在动画期间将内容降低了大约 1em,然后在停止时将其重新移动。存档页面上的另一个导致奇怪的震动效果。

    jQuery(document).ready(function() {
      jQuery(".hide").hide();
      //toggle the componenet with class msg_body
      jQuery(".show").click(function()
      {
        jQuery(this).next(".hide").slideToggle(500);
      });
    });

http://msc-media.co.uk/about/

点击关于页面底部的“待办事项”

http://msc-media.co.uk/tag/france/

点击任何一天 - 在 div 展开之前奇怪的晃动

4

1 回答 1

2

当 jQuery 开始显示和隐藏元素(在您的示例中为.hide)时,它会自动为其添加一些 CSS 样式,包括overflow: hidden. 这就是导致跳跃的原因;在您的示例中,.hide包含 a ul,由于它没有样式,因此采用浏览器的样式 a margin-top: 1em。当父容器获得 时overflow: hidden,它会改变围绕这些默认边距流动的方式。

您最简单的选择是margin: 0在内部设置ul,但您也可以overflow: hidden默认设置在容器元素上以消除跳转,然后相应地设置样式。

于 2012-10-17T20:45:14.627 回答