Jquery不仅仅适用于Chrome&苹果浏览器

时间:2012-08-20 23:48:19

标签: jquery css google-chrome safari

在我的网站上我有一个高度为100%的主体,jquery应该找到主体的高度然后改变侧边栏上的css以匹配它的高度。它适用于Firefox和所有版本的IE,但不适用于Chrome或Safari。我对此有点新意,所以提前感谢你的帮助。 这是我的网站:http://avk.io-web.com/product-list/healthy-gormet-cookies 这是我的jquery:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>    
<script type="text/javascript">
$(document).ready(function() {

var SecondaryContentHeight= $(".secondary_body_content").height()
$(".left_menu").css("height", SecondaryContentHeight);
});
</script>

3 个答案:

答案 0 :(得分:1)

<script type="text/javascript">
$(window).load(function() {
    var SecondaryContentHeight = $(".secondary_body_content").height();
    $(".left_menu").css("height", SecondaryContentHeight);
});
</script>

或优化

<script>$(window).load(function(){$(".left_menu").css("height",$(".secondary_body_content").height())})</script>

答案 1 :(得分:1)

问题是你在加载正文内容中的所有内容之前得到了高度。如果删除正文内容中的大图像,您会看到它们主要排列在一起。记住,当DOM准备就绪时文档就会触发,而不是当页面中的所有内容都已完成加载时触发。您可以将.load()事件绑定到页面上的图像,然后计算左侧菜单的高度,但不会100%。

理想的解决方案是在HTML和CSS中完成所有操作。有很多固定列css布局样本。 one example is here

按照他们的方式,如果您清除缓存并快速向下滚动,它也无法在FireFox中运行。有时图像会在javascript之前加载,但不能保证。

答案 2 :(得分:0)

这似乎适用于您网站上的chrome:

$(".left_menu").height($(".secondary_body_content").height());