我正在使用这个js使两个div具有相同的高度,与静态内容一起工作正常,但是当动态加载图像/内容时,高度被设置为0px因为我想脚本在内容之前触发被拉了。有没有办法延迟这个几秒钟的射击,所以正确的高度设置?尝试超时功能,但无法使其工作
// make stuff the same height
equalheight = function (container) {
var currentTallest = 0,
currentRowStart = 0,
rowDivs = new Array(),
$el,
topPosition = 0;
$(container).each(function () {
$el = $(this);
$($el).height('auto')
topPostion = $el.position().top;
if (currentRowStart != topPostion) {
for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
rowDivs.length = 0; // empty the array
currentRowStart = topPostion;
currentTallest = $el.height();
rowDivs.push($el);
} else {
rowDivs.push($el);
currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);
}
for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
});
}
$(window).load(function () { equalheight('.equal'); });
$(window).resize(function () { equalheight('.equal'); });
答案 0 :(得分:0)
你的答案没有提供足够的信息来提供一个明确的答案,我会跳过枪并假设你正在调用函数的setTimeout
,如果是这种情况,那么试试吧函数本身setTimeout
就像这样。
// make stuff the same height
equalheight = function (container) {
window.setTimeout(function () { // Start setTimeout
var currentTallest = 0,
currentRowStart = 0,
rowDivs = new Array(),
$el,
topPosition = 0;
$(container).each(function () {
$el = $(this);
$($el).height('auto')
topPostion = $el.position().top;
if (currentRowStart != topPostion) {
for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
rowDivs.length = 0; // empty the array
currentRowStart = topPostion;
currentTallest = $el.height();
rowDivs.push($el);
} else {
rowDivs.push($el);
currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);
}
for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
});
}, 5000); // End setTimeout
};
答案 1 :(得分:-1)
为什么当你选择你的元素时:
$el = $(this);
$($el).height('auto');
您无法选择选择器。 你只需写:
$el = $(this);
$el.height('auto');
我不知道我是否很明显这么说但是看起来很奇怪。
然后针对您的问题,您应该尝试在ajax成功中设置高度。 并检查您的选择器以确保它是正确的。