使用css3-mediaqueries.js时,为什么我的100%宽元素变为30000px +宽?

时间:2013-06-02 22:50:48

标签: javascript jquery media-queries

这是一个用来说明问题的JSFiddle:

http://jsfiddle.net/TKX9j/3/

(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

我正在使用这个: http://code.google.com/p/css3-mediaqueries-js/

1 个答案:

答案 0 :(得分:0)

这是因为浏览器还没有确定元素的宽度,所以很可能只返回一些垃圾值。

如果可能的话尝试在CSS中设置默认宽度,那么即使在onLoad事件之前你也会得到那个大小。