用jQuery创建等高列不工作
Creating equal height columns with jQuery not working
我正在使用jQuery使列表项相等的高度(找到最高的,并使所有列表项等于它)。
但是代码不能识别每列中的任何内容来设置高度。它只识别8px的border-top,并将每列的高度设置为8px。我需要代码来识别列内的内容(一些h标签和p标签),找到最高的列,并使所有列都等于它。
$('#secondary').each(function(){
var highestBox = 0;
$('.degreeCardInner', this).each(function(){
if($(this).height() > highestBox)
highestBox = $(this).height();
});
$('.degreeCardInner',this).height(highestBox);
});
请看下面的例子:JSFiddle
点击学位类别进入我正在谈论的屏幕。我试图让每个#degreeCardInner注册一个高度,考虑到所有的内容。
代码似乎可以工作,但只识别#degreeCardInner上的8px border-top,而不是其中的内容。
是否有一些我需要添加到css使此工作?
这是因为当#secondary
设置为display:none;
时,您正在设置页面加载时的高度(没有高度要计算)
一个可能的解决方案可能是将动态高度代码分解为自己的函数,并在#secondary
第一次显示时调用它。
更新javascript:
$(document).ready(function(){
...
$('#category li').on('click', function () {
$('#main').addClass('hidden');
$('#secondary').addClass('visible');
if(!$('#secondary').data('heightSet'))
setHeights();
});
});
function setHeights() {
$('#secondary').each(function () {
var highestBox = 0;
$('.degreeCardInner', this).each(function () {
if ($(this).height() > highestBox) highestBox = $(this).height();
});
$('.degreeCardInner', this).height(highestBox);
});
$('#secondary').data('heightSet', true);
}
它找不到正确的元素,因为它们是隐藏的,所以这里是一个小的调整你的代码,不是在加载时运行函数而是在点击第一个函数
时运行它$('#category').each(function () {
var highestBox = 0;
$('li', this).each(function () {
if ($(this).height() > highestBox) highestBox = $(this).height();
});
$('li', this).height(highestBox);
}).click(function () {
onShow();
});
function onShow() {
$('#secondary').each(function () {
var highestBox = 0;
$('.degreeCardInner', this).each(function () {
if ($(this).height() > highestBox) highestBox = $(this).height();
});
$('.degreeCardInner', this).height(highestBox);
});
}
相关文章:
- 高图表Y轴最大值不工作
- 我无法让这个高图表代码工作,有谁知道为什么它不起作用
- 如果一个选项卡上的列中的值与另一个选项卡中的列不匹配,则谷歌工作表删除行
- 语法高亮显示正则表达式不工作,因为现有的正则表达式匹配
- 数据表过滤&行高亮不能一起工作
- 类在列jqgrid不工作
- 从缓存中加载window.location.reload和散列片段在Chrome不工作
- 为什么在网页中添加语法高亮后滚动条不工作
- 当尝试按列排序时,Jquery动态加载行到表中不工作
- Highcharts列w/下钻在Rails 4中不工作
- 排序dgrid列不能按预期工作
- 等高列与jQuery不工作
- Highcharts -更新列图与setData()不工作
- Jquery dragtable动态添加的列拖动选项不工作
- Bootstrap 3等高行不工作100%在我们的网站
- JScript语法高亮不工作,任何想法
- 语法高亮不工作
- 用jQuery创建等高列不工作
- openjs grid v2.1 -可编辑列不工作
- 为什么格式化我的KendoGrid列不工作