我正在尝试建立一个有广场网格的响应式网站。所以我需要每个div的高度(使用'main'类)与调整大小时的div宽度相同。我对jQuery很新,所以我希望有人可以告诉我这里我做错了什么。
var divWidth = $('.main').width();
$(window).resize(function(){
$('.main').height() = divWidth;
});
非常感谢!
答案 0 :(得分:7)
您不应在resize()函数范围之外声明divWidth
,因为在触发resize事件时不会更新该值。此外,存在多个.main
元素的风险。要么使用ID,要么遍历所有类(如果有多个实例)。
试试这个:
$(window).resize(function(){
// If there are multiple elements with the same class, "main"
$('.main').each(function() {
$(this).height($(this).width());
});
// Or you can switch to using an ID
$('#main').height($('#main').width());
}).resize();
再次触发resize()事件以确保在加载时设置大小。
答案 1 :(得分:6)
你可以这样做:
var divWidth = $('.main').width();
$(window).resize(function(){
$('.main').height(divWidth);
});
答案 2 :(得分:2)
尝试
var divWidth = $('.main').width();
$(window).resize(function(){
$('.main').height(divWidth);
});
答案 3 :(得分:2)
试试这个:
var divWidth = $('.main').width();
$(window).resize(function(){
$('.main').height( divWidth );
});
请注意,height()
在没有参数的情况下调用时会给你高度,但是使用参数,它会改变对象的高度;)