jQuery计算$(document).height()为时已晚?

时间:2011-04-15 06:57:14

标签: jquery

好的,我正在做这个页面:http://www.muzykakoncerty.pl/。我必须动态计算几个css属性才能获得良好的效果。问题是,如果我使用$(document).height()然后第一次刷新(每个浏览器?!)元素使用$(document).height()是坏计算。退房自己。主页上的问题是右侧居中的文字“bawsię...”,另一页是左侧的主要照片。只是尝试刷新页面,你会看到差异

任何想法导致问题的原因是什么?

编辑: 好!我知道什么是问题。可能浏览器正在加载并且图形和它们的大小(宽度和高度)都太晚了。 新问题是:如何检查图形是否已加载?

EDIT2: 以下是显示问题的视频: http://www.youtube.com/watch?v=8GCc_S7SdtI

2 个答案:

答案 0 :(得分:2)

window.onload不应该在加载图像之前触发。你可以等待那个特定的事件。请注意$ .ready是不是 window.onload;它发生在onload之前。我不确定你是否可以使用jQuery绑定onload事件,但你可能可以使用.bind方法。

$(window).bind('load', function() {
     alert($(document).height());
});

答案 1 :(得分:0)

我不确定具体问题是什么,但如果你想获得特定对象的css属性,那么你可以使用.. offset

var ofset = $('#id').offset();
var hieght = ofset.top;
var left = ofset.left;

如果我猜对了,这对你有帮助。