在这个论坛中,我找到了一个 jquery 解决方案,可以将长 ul 分成多个列。帖子有点老了,几天后仍然没有答案,因此我开始了一个新话题。
问题是当最后一列有几个 li 项目时 li 被放置在底部而不是顶部。像这样的东西:
columnA columnB
<li></li>
<li></li>
<li></li> <li></li>
<li></li> <li></li>
我使用的代码是这样的:
var col_max_height = 15; //Max Items per column
var col_width = 175; //Pixels
var col_height = 18; //Pixels
$('.categories ul li ul').each(function() {
$(this).find('li').each(function(index){
column = parseInt(index/col_max_height);
$(this).css('margin-left', column * col_width + 'px')
if(column > 0) {
$(this).css('margin-top', (index - (col_max_height * column) + 1) * -col_height + 'px').addClass('col_'+column);
}
});
});
如您所见,代码将 li 项目从margin-top:-270px
. 我想从那里开始,margin-top:0
然后再往下走。
我看不出该怎么做...