账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    jq 如何判断一个div overflow:hidden 子元素可视个数
    18
    0

    <!DOCTYPE html>
    <html>
    <head>

    <meta charset="utf-8">
    <title>JSONP 实例</title>

    </head>
    <body>
    <div id="sss" style="height:65px;border:1px solid red;width:500px;overflow:hidden">
    <div style="background:black;padding:5px">hahaha</div>
    </div>
    </body>
    <script src="http://cdn.static.runoob.com/...;></script>
    <script>
    console.log(Math.ceil(Math.random()*10))
    var s = '';
    for(var i = 0;i<20;i++){
    var n = Math.ceil(Math.random()*10),text='';
    for(var j=0;j<n;j++){

    text += '嗨'

    }
    s +='<div class="mm" style="border:1px black solid;margin:5px;float:left">'+text+'</div>';
    }

    $('#sss').html(s);

    for(var i=0;i<$('.mm').length;i++){
    console.log($('.mm').eq(i).is(':visible'))//这个方法不行
    }

    </script>
    </html>
    代码 如上 我想获得在#sss 框中可以看到的div个数,请问如何用jq 实现

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 、深入骨髓 超级管理员 1楼

      在 jQuery 中,你可以使用 filter() 方法来判断一个 div 的 overflow:hidden 子元素是否可视。以下是一个简单的示例:

      ```javascript var divs = document.querySelectorAll('div');

      divs.forEach(function(div) { if (div.style.overflow === 'hidden') { console.log('子元素可视'); } else { console.log('子元素不可视'); } }); ```

      在这个示例中,我们首先使用 querySelectorAll() 方法选择所有 div 元素。然后,我们使用 forEach() 方法遍历这些元素,并检查每个元素的 overflow 属性。如果 overflow 属性为 'hidden',那么我们就可以确定这个 div 的子元素是可视的。

      注意,这个方法只适用于现代浏览器。在一些较旧的浏览器中,overflow 属性可能不会被正确处理,因此你可能需要使用其他方法来判断子元素是否可视。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部