这是一个 JSFiddle 来说明问题:
(function($) {
var foo = $('#foo');
foo.css('width', "").css('width', foo.width());
foo.text('This is '+foo.css('width')+' wide.');
})(jQuery);
如您所见,我依靠重置和获取元素的宽度,但我得到了一个巨大的数字。为什么?当我设置为 onLoad
时不会发生这种情况在左侧。 No wrap - in <head>
不相关。我已经等不及了onLoad
在我的生产代码中。
最佳答案
这是因为浏览器尚未确定元素的宽度,因此它可能只是返回一些垃圾值。
如果可能的话,尝试在 CSS 中设置默认宽度,那么您甚至可以在 onLoad 事件之前获得该大小。
关于javascript - 为什么使用 css3-mediaqueries.js 时我的 100% 宽元素会变成 30000px+ 宽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16888057/