修改Jquery以重置为浏览器窗口将重新调整大小
我有一个类似div的响应性布局,我正在应用Jquery,以便所有div都与包含更多内容的div的高度相匹配。但是,如果要重新调整浏览器窗口的大小,所有div的高度将保持与加载页面时相同,从而使文本从div中消失。是否有办法在每次用户调整浏览器窗口大小时继续运行Jquery 为了更具描述性,我试图完成的是让我的div(在浏览器窗口rezise上)作为一个普通div,具有文本内容和属性宽度:#%;高度:自动;唯一不同的是,所有的div都将匹配高度较大的div的高度 以下是我的链接: 以下是我最初必须获得最大高度的Jquery:修改Jquery以重置为浏览器窗口将重新调整大小,jquery,html,css,Jquery,Html,Css,我有一个类似div的响应性布局,我正在应用Jquery,以便所有div都与包含更多内容的div的高度相匹配。但是,如果要重新调整浏览器窗口的大小,所有div的高度将保持与加载页面时相同,从而使文本从div中消失。是否有办法在每次用户调整浏览器窗口大小时继续运行Jquery 为了更具描述性,我试图完成的是让我的div(在浏览器窗口rezise上)作为一个普通div,具有文本内容和属性宽度:#%;高度:自动;唯一不同的是,所有的div都将匹配高度较大的div的高度 以下是我的链接: 以下是我最初必须
<script>
jQuery(function(){
var maxHeight = 0;
$(".box").each(function(){
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
});
$(".box").height(maxHeight);
});
</script>
任何帮助都将不胜感激 当然,您可以使用JQuery的
.resize()
事件记录在这里:
例如:
$(窗口).resize(函数(){///此处的代码})代码>
然后每次窗口调整大小时,代码都将运行
下面是一个演示代码何时运行的示例。当然,您可以使用JQuery的.resize()
事件记录在这里:
例如:
$(窗口).resize(函数(){///此处的代码})代码>
然后每次窗口调整大小时,代码都将运行
下面是一个演示代码何时运行的示例。这就是事件侦听器的用途。您可以将代码放入一个函数中,比如说normalizeBoxHeight()
,然后在浏览器调整大小(最初加载时)时调用它
看起来像这样:
jQuery(function(){
var normalizeBoxHeight = function(){
var maxHeight = 0;
$(".box").each(function(){
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
});
$(".box").height(maxHeight);
}
$(window).resize(normalizeBoxHeight);
normalizeBoxHeight();
});
这就是事件侦听器的用途。您可以将代码放入一个函数中,比如说normalizeBoxHeight()
,然后在浏览器调整大小(最初加载时)时调用它
看起来像这样:
jQuery(function(){
var normalizeBoxHeight = function(){
var maxHeight = 0;
$(".box").each(function(){
if ($(this).height() > maxHeight) { maxHeight = $(this).height(); }
});
$(".box").height(maxHeight);
}
$(window).resize(normalizeBoxHeight);
normalizeBoxHeight();
});
您可以忘记使用JavaScript,而使用纯CSS:
弗斯特
第二
.集装箱{
显示:表格;/*可选*/
宽度:100%;/*可选*/
}
.货柜组{
显示:表格单元格;
}
它非常灵活,可以根据需要使用任意多的“列”。由于它是纯CSS,您甚至可以通过媒体查询在移动设备上禁用它。您可以忘记在这方面使用JavaScript,而使用纯CSS:
弗斯特
第二
.集装箱{
显示:表格;/*可选*/
宽度:100%;/*可选*/
}
.货柜组{
显示:表格单元格;
}
它非常灵活,可以根据需要使用任意多的“列”。因为它是纯CSS,您甚至可以通过媒体查询禁用移动设备的该功能。您使用JavaScript而不是纯CSS使元素高度相等有什么特殊原因吗?我不知道如何使用纯CSS实现这一点,而且我的布局是响应性的,所以我不能在divs下使用bg img来伪造。您使用该功能有什么特殊原因吗JavaScript使元素的高度相等,而不是纯CSS?我不知道如何使用纯CSS来实现这一点,我的布局是响应性的,所以我不能在divs下使用bg img来伪造。实际上,我仍然没有得到我想要实现的目标,在调整窗口大小后,文本会消失/我将告诉您,这段代码执行您所要求的操作(最初和窗口调整后激发)。如果它不能产生想要的效果,那么它与您的标记/CSS或其他js有关。请随意提供一些,看看我们是否可以进一步排除故障。您可能是rigth,还有其他一些问题。这是链接:谢谢你的帮助。事实上,我仍然没有得到我想要完成的,在我调整窗口大小后,文本会消失/我将告诉您,这段代码执行您所要求的操作(最初和窗口调整后激发)。如果它不能产生想要的效果,那么它与您的标记/CSS或其他js有关。请随意提供一些,看看我们是否可以进一步排除故障。您可能是rigth,还有其他一些问题。这是链接:谢谢你帮助我。嘿,非常感谢。这似乎是可行的,但有没有办法在div之间留有利润呢。以下是我试图实现的目标:当然:。你需要使用负边距沿外边缘偏移它们。我用与背景颜色相同的边框来伪造边距。哦,谢谢,还有一件事,当在较小的屏幕上查看时,有没有办法垂直堆叠这些div?我不知道你已经建议过了。我能够应用媒体查询,并使其按我所希望的方式工作。谢谢!嘿,非常感谢。这似乎是可行的,但有没有办法在div之间留有利润呢。以下是我试图实现的目标:当然:。你需要使用负边距沿外边缘偏移它们。我用与背景颜色相同的边框来伪造边距。哦,谢谢,还有一件事,当在较小的屏幕上查看时,有没有办法垂直堆叠这些div?我不知道你已经建议过了。我能够应用媒体查询,并使其按我所希望的方式工作。谢谢!
<div class="container">
<div>First</div>
<div>Second</div>
</div>
.container {
display: table; /* optional */
width: 100%; /* optional */
}
.container div {
display: table-cell;
}