Javascript $(window).bind(";load";,function(){}事件
好的,我有一个包含两个div的父div。父div自然会和最高的子div一样高,这取决于内容。但是,我希望两个子div的动态高度相同,而不管内容如何。因此,我决定用JavaScript编写它。我有:Javascript $(window).bind(";load";,function(){}事件,javascript,css,html,Javascript,Css,Html,好的,我有一个包含两个div的父div。父div自然会和最高的子div一样高,这取决于内容。但是,我希望两个子div的动态高度相同,而不管内容如何。因此,我决定用JavaScript编写它。我有: <!--- Make main div's same height --> <script type="text/javascript"> $(window).bind("load", function() { setDivHeight() { var l
<!--- Make main div's same height -->
<script type="text/javascript">
$(window).bind("load", function() {
setDivHeight() {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
}
});
</script>
$(窗口).bind(“加载”,函数(){
setDivHeight(){
var left=$(“#primary”);
var-right=$(“#次要”);
var maxHeight=Math.max(left.height(),right.height());
左。高度(最大高度);
右。高度(最大高度);
}
});
但是,当我尝试运行它时,我在控制台中收到以下消息:
未捕获类型错误:对象[object]的属性“$”不是函数
我已经研究了大约4个小时了,我已经放弃了希望
有人能告诉我我做错了什么吗?这听起来好像代码上面的页面中没有包含jQuery,或者您这样做了,但是有什么东西接管了
$
符号
确保jQuery在代码之前加载,如下所示(这只是您可能使用的一个链接):
它使用jQuery
符号,将其作为$
参数传递到函数中。即使$
是该函数之外的其他内容,在该函数中,它也将是jQuery
旁注1:您的代码包含语法错误。您的意思可能是:
(function($) {
$(window).bind("load", function() {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
});
})(jQuery);
旁注2:window
load
事件发生在加载过程的后期,即加载所有图像后。这可能是您想要的(例如,如果div的高度部分由图像决定),但如果不是,您可能希望改用ready
(在本例中,使用其快捷方式之一),因为它发生得更快:
jQuery(function($) {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
});
不过,也许你等待这些图片也是有原因的。因为图片和视频,我需要
加载事件。客户的网站是WordPress网站,主题是一个12岁的孩子(我再也不会这么做了)。他有很多页面,自定义帖子类型(其中一些包括从youtube和imgur等不同服务获取的图像和视频)。默认情况下不会调用jQuery(与我通常使用的骨架主题不同,为什么我错过了它),所以我所要做的就是将
包含在主题的header.php
中。除此之外,还有您在旁注1中的代码更正,它就可以工作了。谢谢!
(function($) {
$(window).bind("load", function() {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
});
})(jQuery);
jQuery(function($) {
var left = $('#primary');
var right = $('#secondary');
var maxHeight = Math.max(left.height(), right.height());
left.height(maxHeight);
right.height(maxHeight);
});