jQuery获取溢出隐藏元素的计数

Dee*_*yal -1 jquery

我有一个包含许多 li 的 ul,并为隐藏溢出的 ul 指定了一个高度,现在我需要找到没有溢出或溢出的数字元素。我尝试使用 length() 函数,但它返回所有 li 计数

<ul id="am-container" class="am-container thumbs noscript" style="width: 100%; display: block;">
<li id="1" class="image-in">
<li id="4" class="image-in">
<li id="5" class="image-in">
<li id="6" class="image-in">
<li id="7" class="image-in">
<li id="8" class="image-in">
<li id="9" class="image-in">
<li id="10" class="image-in">
<li id="11" class="image-in">
<li id="12" class="image-in">
<li id="13" class="image-in">
<li id="14" class="image-in">
<li id="15" class="image-in">
<li id="16" class="image-in">
<li id="17" class="image-in">
<li id="18" class="image-in">
<li id="23" class="image-in">
<li id="24" class="image-in">
<li id="25" class="image-in">
<li id="26" class="image-in">
<li id="30" class="image-in">
<li id="33" class="image-in">
<li id="34" class="image-in">
<li id="35" class="image-in">
<li id="36" class="image-in">
<li id="38" class="image-in">
<li id="39" class="image-in">
<li id="40" class="image-in">
<li id="41" class="image-in">
<li id="42" class="image-in">
<li id="43" class="image-in">
<li id="44" class="image-in">
<li id="45" class="image-in">
<li id="46" class="image-in">
<li id="47" class="image-in">
<li id="52" class="image-in">
<li id="53" class="image-in">
<li id="54" class="image-in">
<li id="55" class="image-in">
</ul>
Run Code Online (Sandbox Code Playgroud)

css :

.am-container.thumbs {
    max-height: 365px;
    overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

回答

通过使用提供的两个答案,这对我来说非常完美:

var hiddenEls = new Array();

        $("#am-container").find("li").each(function(){
            if ($(this).position().top < $("#am-container").position().top + 275)
                hiddenEls.push($(this));
        });
        var numrow = hiddenEls.length;
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以li使用此找到页面中显示的数字元素,

var maxh = $("ul.am-container").height();

console.log($("ul.am-container li").filter(function () {
    return $(this).position().top + $(this).height() < maxh;

}).length);
Run Code Online (Sandbox Code Playgroud)