Jquery.height()使用F5或CTRL + F5返回不同的结果

Pur*_*key 2 javascript jquery

所以我试图找到我的图像的高度,然后添加一个上边距,这使我能够强加一个垂直中心.

我正在运行这个代码,并且在F5刷新时我得到了正确的高度但是在CTRL + F5刷新时它给了我一个更小的高度.我有点假设这是一个加载/延迟的东西,但我正在使用文档准备好所以不确定最新情况.我尝试使用php函数,但它让网站速度惊人,所以必须坚持使用jquery.

你可以看到它在这里工作.www.mzillustration.com

 jQuery(document).ready(function() {

 if (jQuery('.imagedisplay').length != 0) {
                jQuery('.imagedisplay').each(function(){ 

                var imgheight = jQuery(this).find('img').height();

                var topmarg = ((240 - imgheight) / 2) ; 

                jQuery(this).find('img').css({'margin-top':topmarg+'px'});



            });

});
Run Code Online (Sandbox Code Playgroud)

任何想法/帮助/解释非常感谢.谢谢

Dan*_*ist 7

onload和onready之间存在差异.

ready将等到实际的DOM树完成,而onload将等待,直到页面上显示的所有内容都完成加载.因此,一个解释是,当清除缓存并刷新时,dom树的完成速度比图像快得多,因此给出了错误的高度.

尝试使用onload-event,看看你是否得到了不同的结果.