我有一个包含可变数量列表项的无序列表,例如:
<ul class="list divider-full-bleed">
<li class="tile">
...
</li>
<li class="tile">
...
</li>
...
</ul>
当浏览器窗口调整大小时,我总是希望确保只显示适合视口的列表项。我想要隐藏的不可见或仅部分可见的列表项。
这是我到目前为止所做的:
$( window ).resize(function() {
var max_height = $(window).height();
var item_height = $('.divider-full-bleed li:first').height();
var squeeze_to_fit = Math.floor( max_height / item_height );
$('.divider-full-bleed li').each(function(){ $(this).show() })
$('.divider-full-bleed li').offset(squeeze_to_fit + 1).each(function(){ $(this).hide() })
});
我上面使用的offset
函数只是一个占位符并抛出错误。是否有一个jQuery函数甚至是内置的Javascript函数,它允许我在特定偏移处开始选择子元素?