jQuery width()函数在Internet Explorer 9中返回错误的值

HP.*_*HP. 4 html javascript css jquery internet-explorer

我之前使用过Easy Slider jQuery插件,直到现在才出现问题.问题很奇怪.看看这个主页 http://bit.ly/HKiWY6

该页面将弹出一个显示两个值的警报:

$("#slider").width()
Run Code Online (Sandbox Code Playgroud)

$("#slider3").width()
Run Code Online (Sandbox Code Playgroud)

我已经在css中设置了两者的值.一个是710px,一个是700px.

如果你在IE9中运行,它会显示默认值$(window).width(),而不是当前窗口或文档宽度.FF和Chrome正确返回.这是为什么?

Phr*_*ion 10

尝试使用outerWidth,并确保将其包装在windows.ready事件侦听器中,以确保在计算宽度之前正确呈现所有DOM元素

$("#slider3").outerWidth()
Run Code Online (Sandbox Code Playgroud)


Cas*_*ter 6

我在过去使用jQuery的width()/ height()/ offset().top/.left等时遇到了问题,当我在某个事件完全冒泡之前使用它们时.看看是否setTimeout(function() { alert($('#slider').width()); }, 0);有任何影响.这是一个便宜的nextTick()技巧,可能正是你所需要的.