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

标签 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/

最佳答案

这是因为浏览器尚未确定元素的宽度,因此它可能只是返回一些垃圾值。

如果可能的话,尝试在 CSS 中设置默认宽度,那么您甚至可以在 onLoad 事件之前获得该大小。

关于javascript - 为什么使用 css3-mediaqueries.js 时我的 100% 宽元素会变成 30000px+ 宽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16888057/

相关文章:

javascript - 单击或按 Enter 时触发 Backbone 事件

javascript - Jquery UI 对话框仅显示一次

javascript - 将图像添加到 TinyMCE 编辑器

javascript - 使用 jQuery 的 AJAX 调用中的 url 字段格式

html - 手机水平滚动问题

html - 在浏览器调整大小时下方 float 后将 div 居中

html - css3 媒体查询和声明

javascript - 在 jQuery 中查找最近的类和 slideDown

javascript - 当 Yeoman 上的前一个提示为真时,如何执行其他提示?

javascript - 未捕获的语法错误 : Unexpected token ILLEGAL textarea rendering