2012-12-12 26 views
11

我用下面的代码具有相等的高度rightposleftposmiddlepos的div:JQuery的div.height是错误的Chrome浏览器进行所有的div相同的高度

<script> 

    jQuery.noConflict(); 
    jQuery(document).ready(function($){ 

     // Find the greatest height: 
     maxHeight = Math.max($('#rightpos').height(), $('#middlepos').height()); 
     maxHeight = Math.max(maxHeight, $('#leftpos').height()); 

     // Set height: 
     $('#rightpos').height(maxHeight); 
     $('#middlepos').height(maxHeight); 
     $('#leftpos').height(maxHeight); 

    }) 
</script> 

使用这个最高的div确定主要页面http://yaskawa.ir/的方式在Firefox中运行良好,但在Chrome中遇到问题。


更新1Sparky672的回答是:

我可以看到,这段代码中,alert('test here');末不起作用。

<script> 
    jQuery.noConflict(); 
    //jQuery(document).ready(function($){}); 

    jQuery(window).load(function($){ 

     // Find the greatest height: 
     maxHeight = Math.max($('#rightpos').height(), $('#middlepos').height()); 
     maxHeight = Math.max(maxHeight, $('#leftpos').height()); 

     // Set height: 
     $('#rightpos').height(maxHeight); 
     $('#middlepos').height(maxHeight); 
     $('#leftpos').height(maxHeight); 

     alert('test here'); 
    }) 
</script> 

enter image description here

+0

我看到所有的div的有(使用Chrome)相同的高度。有什么问题? – Kedume

+0

我在Linux中使用铬,它有问题。我现在将上传照片 –

+0

请构建你的问题的jsFiddle。 'window.load'在这里工作正常:http://jsfiddle.net/snBLP/3/ – Sparky

回答

19

代替document.ready()尝试window.load()到确保在计算高度之前加载所有资产。

jQuery(window).load(function($){ 

文档:

负载事件被发送到一个元件时,它和所有的子元件已经 被完全加载。此事件可以发送到与URL相关联的任何元素 :图像,脚本,框架,iframe和窗口对象。

http://api.jquery.com/load-event/

观看演示:

http://jsfiddle.net/snBLP/3/

+0

谢谢@ Sparky672,但它不起作用,它似乎损坏了我的代码。最后的“警报”不起作用。 –

+0

@smhnaji,[我的回答中没有什么不寻常的东西](http://jsfiddle.net/snBLP/2/)。向下滚动[此页面并查看第一个示例代码](http://api.jquery.com/load-event/)。你能构建一个jsFiddle演示来展示你的问题吗? – Sparky

+1

这很奇怪,但是当使用'jQuery(window).load'时,我发现'$'不起作用(而'document.ready'正确使用'$'和相同的代码),反正我用' jQuery'而不是'$'与您的解决方案。现场的例子是在http://yaskawa.ir/ –

-1

$(文件)。就绪()是不适合用于计算高度。 $(文件)。就绪()不会等待图像加载等

我建议尝试

$(window).ready() 

,而不是...

+0

你是对的。 RTM - > http://api.jquery.com/ready/ – Sparky

+0

你可以给我点我的回Sparky吗?我个人使用过$(window).ready()...,它和$(window)一样好.load() – rnirnber

+0

你可能认为它很好用,但它不是一回事,而你的答案和'document.ready'没有多大区别。再次,请阅读'.ready()'... _“的文档。”指定一个函数在DOM满载时执行“。而'.load()'_“在它和所有子元素已经完全加载时发送给元素。”_ – Sparky

相关问题