Jquery仅在Chrome&;游猎

Jquery仅在Chrome&;游猎,jquery,css,google-chrome,safari,Jquery,Css,Google Chrome,Safari,在我的网站上,我有一个高度为100%的主体,jquery应该找到主体的高度,然后更改侧栏上的css以匹配其高度。它适用于Firefox和所有IE版本,但不适用于Chrome或Safari。我对这方面有点陌生,所以提前谢谢你的帮助。 这是我的网站: 下面是我的jquery: <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></

在我的网站上,我有一个高度为100%的主体,jquery应该找到主体的高度,然后更改侧栏上的css以匹配其高度。它适用于Firefox和所有IE版本,但不适用于Chrome或Safari。我对这方面有点陌生,所以提前谢谢你的帮助。 这是我的网站: 下面是我的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>

$(文档).ready(函数(){
var SecondaryContentHeight=$(“.secondary\u body\u content”).height()
$(“.left_menu”).css(“高度”,第二个内容高度);
});

$(窗口)。加载(函数(){
var SecondaryContentHeight=$(“.secondary_body_content”).height();
$(“.left_menu”).css(“高度”,第二个内容高度);
});
或优化

<script>$(window).load(function(){$(".left_menu").css("height",$(".secondary_body_content").height())})</script>
$(window.load(function(){$(“.left\u menu”).css(“height”,$(“.secondary\u body\u content”).height()))

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

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

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

理想的解决方案是在HTML和CSS中完成这一切。有很多固定列css布局示例


顺便说一句,如果你清除缓存并足够快地向下滚动,它在FireFox中也不起作用。有时,图像会在javascript之前加载,但这并不能保证。

我看不到您在var语句之后的第一个sampleSemicolon中更改了什么。分号在javascript中是可选的。@Fleshgrinder:在这种情况下,它不会更改anything@TheZ我知道,但也许它成功了,但它没有。第二个是工作虫族?你试过
outerHeight(true)
而不是
height()
?谢谢你的帮助!我将$(document).ready()替换为$(window).load(),看起来这已经解决了它!您还可以考虑在CSS中设置图像的高度(和宽度),这样,当图像完成加载时,您可能不会得到这种丑陋的调整大小(甚至可能是作为背景的预加载程序)。那么您的document.ready应该可以再次工作,并且速度会快一点…太好了!但是请注意,它仍然需要等待一段时间,以使左侧的条变大。最好是最终切换到不使用javascript来执行此操作:)
$(".left_menu").height($(".secondary_body_content").height());