高度在 jQuery 中的 resize() 上不会改变
Height does not change on resize() in jQuery
我有 4 个不同高度的div 容器。我希望每当我加载页面或调整窗口大小时,它们都具有相同的高度。我给每个div提供了类要求,并尝试了以下jQuery代码:
<script type="text/javascript">
$(document).ready(adjustRequirement);
$(window).resize(adjustRequirement);
function adjustRequirement(){
var maxHeight = -1;
$('.requirement').each(function() {
maxHeight = maxHeight > $(this).height() ? maxHeight : $(this).height();
});
$('.requirement').each(function() {
$(this).height(maxHeight);
});
}
</script>
现在,每当我加载页面(或使用 F5 刷新(时,这都可以工作,但是当我调整窗口大小时它不起作用。我做错了什么?这是一个小提琴。
发生这种情况是因为您在第一次运行函数时设置了固定高度,这样每个div
的高度将始终相同。由于div 默认具有overflow: visible
即使文本超出div
,也会显示文本。
试试这个,我添加了一行,它重置了div的高度,以便它调整以适应内容$(this).css('height', 'auto');
:
$(document).ready(adjustRequirment);
$(window).resize(adjustRequirment);
function adjustRequirment(){
var maxHeight = -1;
$('.requirement').each(function() {
$(this).css('height', 'auto');
maxHeight = maxHeight > $(this).height() ? maxHeight : $(this).height();
});
$('.requirement').each(function() {
$(this).height(maxHeight);
});
}
你也可以
使用 jquery-match-height。只需下载并实现jquery.matchHeight.js
$(document).ready(function() {
$(function() {
$('.requirement').matchHeight();
}
});
它非常易于使用,也适用于 Rezise。
相关文章:
- 背景没有改变 - Jquery/Javascript/CSS
- 两个文本框同时改变[JQuery]
- 改变Jquery中事件的顺序
- 如何动态改变jquery日期选择器样式
- 丢失JSON数据时,改变JQuery从append()到html(),为什么以及如何我停止这个(Songkick API
- 根据选择选项改变jQuery UI滑块值
- 改变jQuery倒计时
- 改变Jquery滑块来执行一个功能
- 如何动态改变jQuery数据表的高度
- 改变jQuery旋钮的最小/最大值
- 如何在不调用函数的情况下改变jQuery的执行上下文
- 当达到某个值时,多次改变jQuery滑动条的颜色
- 输入值不会改变-Jquery
- 是否有一种方法来改变Jquery插件选项与点击一个按钮
- 动态改变jquery对话框的标题,不从下拉菜单中获取缓存数据
- 如何获得第二个组合框值后,第一个改变(jquery)
- 如何改变jquery数据表列的颜色
- 如何改变Jquery日期picker日期格式
- 改变Jquery Ui切换面板图标
- 当使用变量引用数组的索引时,不能改变Jquery中的css