我尝试使用特定类遍历父li
的{{1}}个元素,并为每个元素分配一个可变边距,具体取决于前一个元素的高度。循环:
ul

我显然做错了。你能救我一下吗?
答案 0 :(得分:4)
您未在该功能中正确引用this
。你需要用$()
包装它把它变成一个jQuery对象,既可以设置css又可以获得高度......
$(function() {
var staticOffset = 66;
var previousHeight = null; // initialization
$(".timeline-tidy li").each(function() {
if (previousHeight) { // exclude the first element
var heightOffset = previousHeight - staticOffset;
$(this).css('margin-top', heightOffset * -1); // negative margin
}
previousHeight = $(this).height();
});
});
但是,由于您不止一次这样做,我建议您创建一个本地引用,例如......
$(function() {
var staticOffset = 66;
var previousHeight = null; // initialization
$(".timeline-tidy li").each(function() {
var $this = $(this);
if (previousHeight) { // exclude the first element
var heightOffset = previousHeight - staticOffset;
$this.css('margin-top', heightOffset * -1); // negative margin
}
previousHeight = $this.height();
});
});