slideDown()使包装中的所有内容都移位

时间:2010-05-08 22:21:54

标签: javascript jquery debugging slidedown

我目前正在创建一个简单的菜单,其中有多个服务名称,用户可以单击一个,jQuery将在其下方显示相应的段落。我的jQuery代码很好,完全符合我的要求,但是,我有一个我还没有解决的错误。

每当我点击其中一个标题并显示其描述时,页面包装中的所有内容都会在Firefox中向左移动大约7个像素,谷歌Chrome也是如此,但是我没有测量过这个但是我是确定它无关紧要。

无论如何,我使用slideToggle()命令来显示隐藏的parragraph。我假设这是发生的,因为当slideDown发生时,它以某种方式改变了所有的宽度和“margin:0 auto;”在我的CSS中设置包装器规则可以补偿这种变化。有没有人有办法解决这个问题?我已经尝试了几个我在互联网上找到的其他修复但无济于事。

以下是我的代码的样子,我将它放在jsFiddle上以便于查看:http://jsfiddle.net/vcH7m/如果您愿意,可以随意编辑它,或发布需要修复的内容。无论什么都比较方便。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这种移动很可能是由垂直滚动条引起的。如果页面太大,则会显示垂直滚动条并将段落的宽度向左推动一点。当您将浏览器视口缩小到大约1000x600时,您可以在给定jsfiddle页面的第1段中看到此内容。

要解决此问题,您可以考虑定位固定的垂直滚动条。

html {
    overflow-y: scroll;
}