Jquery 仅在 Chrome 和 Safari 中不起作用

标签 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>

最佳答案

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

理想的解决方案是全部用 HTML 和 CSS 完成。有很多固定列的 css 布局示例。 one example is here

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

关于Jquery 仅在 Chrome 和 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12046742/

相关文章:

javascript - Jquery 不适用于在 document.ready 之后创建的元素

javascript - 如何通过js给运行时自动生成的图片应用类

html - 放大时保持图像大小占屏幕的百分比相同

php - SagePay/Chrome 80/3D Secure/Samesite 和丢失的 session ID

javascript - 有没有办法从 Highcharts 传入可变元素 ID 以启动模式窗口?

jquery - 默认链接颜色保持事件状态,直到鼠标单击另一个链接

javascript - Bootstrap 冲突或错误 - 仍在寻找解决方案

css - `all: unset` 和 `all: revert' 有什么区别

javascript - 谷歌地图灰色 map

javascript - chrome.tabs.query : Property 'currentWindow' : Unexpected