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

时间:2012-04-16 08:13:59

标签: javascript jquery html css internet-explorer

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

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

$("#slider").width()

$("#slider3").width()

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

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

2 个答案:

答案 0 :(得分:10)

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

$("#slider3").outerWidth()

答案 1 :(得分:6)

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