我正在使用一个函数来平衡从数据库返回的 li 标签的高度。我还使用 jquery 来分配某些 li 新类,具体取决于它们在一行中的位置。
基本上我的问题是 jquery 语句的定位部分始终有效,但等高部分有时不会触发,实际上它通常不适用于空缓存 - 但是它总是会在刷新或第二次访问页面时触发.
现场示例在这里链接!(请让我知道这对你有没有用!)
下面列出了我正在使用的 jquery 代码。
jQuery.fn.equalCols = function(){
//Array Sorter
var sortNumber = function(a,b){return b - a;};
var heights = [];
//Push each height into an array
$(this).each(function(){
heights.push($(this).height());
});
heights.sort(sortNumber);
var maxHeight = heights[0];
return this.each(function(){
//Set each column to the max height
$(this).css({'height': maxHeight});
});
};
jQuery(document).ready(function($) {
$(".thumbs").each(function(i) {
if (i % 4 == 0)
$(this).addClass("start");
if (i % 4 == 3)
$(this).addClass("end");
});
$(".thumbs").each(function(i) {
if (i % 3 == 0)
$(this).addClass("start");
if (i % 3 == 2)
$(this).addClass("end");
});
$(".event_thumbs").each(function(i) {
if (i % 2 == 0)
$(this).addClass("start");
});
$('.thumbs, .end, .start').equalCols();
});
如果您对实现目标的代码或方法有更好的建议,请大声说出来,或者如果您知道如何使其工作-我爱您。