4

我在使用 jQuery 获取容器大小时遇到​​了重大问题width(), outerWidth(), innerWidth()

如果你在 IE8 中加载这个 URL,它会给我一个超过 30,000 的宽度数字,而其他所有浏览器都在 1100 左右,这是正确的值。

这会导致滑块出现问题,因为此宽度值用于针对单个滑块调整大小进行各种其他计算。

我已将警报留给您以查看宽度差异,并且正在使用 id 容器的 div 上调用它。

具体的 jQuery 调用是(由于其他插件而没有使用冲突):

alert(jQuery_1_6_2('#container').width());

我看过其他一些帖子提到outerWidth()innerWidth()但这些也没有给我正确的尺寸。

我相信这可能与 IE 有关,可能认为所有滑块都排成一行,但每个滑块仍然只有 600 像素宽,所以我只能得到 3,600 像素左右的值而不是 30,000 像素 +

我也不能使用固定宽度来解决我的问题,因为这是响应式的。我能做到的最好的方法是在#container 上设置一个最大宽度值,但我仍然没有得到宽度值的确切值。

4

1 回答 1

5

尝试使用$(window).load(function(){...});而不是准备好文档。

如果仍然不工作,那么这可以工作,使用计时器让 DOM 完全呈现:

jQuery_1_6_2(document).ready(function () {
    setTimeout(function () {
        alert(jQuery_1_6_2('#container').width());

        jQuery_1_6_2('#accordion-wrapper').raccordion({
            speed: 1000,
            sliderWidth: jQuery_1_6_2('#container').width(),
            sliderHeight: 360,
            autoCollapse: false
        });
    }, 100);
});
于 2013-05-15T12:13:47.023 回答