IE 8中的jQuery .width()问题

Pet*_*one 4 jquery width

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

如果你在IE8中加载这个URL,它给我一个超过30,000的宽度数字,而每隔一个浏览器大约1100标记,这是正确的值.

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

我已经离开警报,你可以看到宽度离散度,并在id上使用id容器调用它.

具体的jQuery调用是(不使用其他插件引起的冲突):

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

我已经看到其他一些帖子提到了outerWidth(),innerWidth()但这些也没有给我正确的sizings.

我相信它可能与IE有关,可能会认为所有的滑块都在一条线上但仍然只有600px宽,所以我只得到一个值约3,600px而不是30,000px +

我也不能使用固定宽度,这可以解决我的问题,因为这是响应.我能达到的最好效果是将最大宽度值放在#container上,但我仍然没有得到宽度值的精确值.

A. *_*lff 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);
});
Run Code Online (Sandbox Code Playgroud)