使用JavaScript检查对象的可见性

时间:2011-01-25 15:40:47

标签: javascript html css

我有一个名为“object”的变量。如果可见,我如何查看JavaScript?

我试过了!object.getAttribute(“dislay”,“none”)......但这不起作用。

有人可以帮帮我吗?

谢谢!

6 个答案:

答案 0 :(得分:15)

function isvisible(obj) {
  return obj.offsetWidth > 0 && obj.offsetHeight > 0;
}

因为它是在JQuery中实现的。

答案 1 :(得分:9)

如果使用jQuery,如果对象可见,则以下内容将返回true:

$(object).is(':visible');

如果没有,你可以试试这些:

if (object.style['display'] != 'none')

但只有在此对象上明确设置display:none时才会有效。

答案 2 :(得分:1)

if (object.style.visibility <> 'visible' || object.style.display == 'none') 

如果不起作用,请尝试使用

 if (object.currentStyle.visibility <> 'visible' || object.currentStyle.display == 'none')

答案 3 :(得分:1)

要使用javascript获取显示样式的值,您可以使用:

IE:

document.getElementById('mydiv').currentStyle.display
or
object.currentStyle.display

其他:

document.getElementById('mydiv').getComputedStyle('display')
or
object.getComputedStyle('display')

答案 4 :(得分:0)

看起来你没有正确使用getAttribute方法。试着看看this

答案 5 :(得分:0)

以下是工作版本:http://jsfiddle.net/PEA4j/

<html>
<head>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            alert("Is #foo1 visible: " + $("#foo1").is(":visible") + "\nIs #foo2 visible: " + $("#foo2").is(":visible"));

        });
    </script>
</head>
<body>
<div id="foo1" style="display:none">foo1 display none</div>
<div id="foo2">foo2 no display property;</div>
</body>
</html>