我的javascript中有一个document.body is null错误,因为我使用:
$(window).width()
作为赋值给我的
$(document).ready(function(){});
我将非常感谢任何能在这方面帮助我的人。
亲切的问候
编辑:如果这一切都不清楚,很抱歉。我有一个演示:http://www.wpmonk.com/demo/hypowired一开始主题将加载,但后来变成白色(因为错误),但当您重新加载时,您可以看到整个主题,因为这样他就知道$(window).width()的值了。
我使用这段代码来居中布局(使用css不可能,因为左边也需要有宽度)。
function positioneerElement(){
$breedte = (document.body.clientWidth - 1124) / 2;
$('#bg_left').css({
'width': $breedte
});
$('.container').css({
'margin-left': $breedte
});
}
我在load函数中调用函数positioneerElement()
。
如果这一点不清楚,很抱歉,我认为没有必要将演示放在这里,也没有必要放代码。无论如何,我要感谢那些试图帮助我们的人!
发布于 2009-10-22 05:54:11
我同意outis的观点--我们需要更多的代码。
这就是说:
其中一个建议是:
如果将positioneerElement
函数也放在$(document).ready函数中,问题是否仍然存在?我想知道在加载文档之前,浏览器是否会评估document.body。
$(document).ready(function() {
function positioneerElement(){
$breedte = (document.body.clientWidth - 1124) / 2;
$('#bg_left').css({
'width': $breedte
});
$('.container').css({
'margin-left': $breedte
});
// your other code, including
positioneerElement();
});
发布于 2009-10-22 05:57:33
确保仅在包含<body>
标记后才调用$(window).width()
。在就绪回调中),和/或使用标准模式文档类型声明。无论如何,你都应该这么做:怪癖模式太烂了。
问题是,要在怪癖模式下读取视口大小,jQuery必须查看document.body.clientWidth
而不是document.documentElement.clientWidth
。如果您尚未启动<body>
,则不存在document.body
节点。
发布于 2009-11-20 20:10:51
你必须包括jquery.js,而不是jquery.min.js它看起来像是其中的一些错误这对我来说是有效的
https://stackoverflow.com/questions/1603810
复制相似问题