我有一個名爲「object」的變量。如何檢查JavaScript是否可見?使用JavaScript檢查對象的可見性
我試過了!object.getAttribute(「dislay」,「none」)...但這不起作用。
有人可以幫我嗎?
謝謝!
$(object).is(':visible');
如果沒有,你可以嘗試這些:
if (object.style['display'] != 'none')
但這種方法僅當display:none
有
我有一個名爲「object」的變量。如何檢查JavaScript是否可見?使用JavaScript檢查對象的可見性
我試過了!object.getAttribute(「dislay」,「none」)...但這不起作用。
有人可以幫我嗎?
謝謝!
$(object).is(':visible');
如果沒有,你可以嘗試這些:
if (object.style['display'] != 'none')
但這種方法僅當display:none
有
如果你使用jQuery,下面將如果對象是可見返回true被明確設置在這個對象上。
看起來你不正確地使用getAttribute方法。試試看看this。
這裏的工作版本: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>
if (object.style.visibility <> 'visible' || object.style.display == 'none')
如果它不工作,嘗試使用
if (object.currentStyle.visibility <> 'visible' || object.currentStyle.display == 'none')
要使用可以使用JavaScript得到的顯示風格的價值:
IE:
document.getElementById('mydiv').currentStyle.display
or
object.currentStyle.display
其他:
document.getElementById('mydiv').getComputedStyle('display')
or
object.getComputedStyle('display')
有了這個,我得到:``Uncaught TypeError:Object#
function isvisible(obj) {
return obj.offsetWidth > 0 && obj.offsetHeight > 0;
}
,因爲它是在JQuery中實現。
nom nom nom。香草JS非常好! – 2015-09-26 21:15:08
+1:儘管我通常反對在陽光下的每個JavaScript問題上拋出jQuery,尤其是對於渲染問題,IMO完全不值得重新創造輪子,而不必重新發明輪子。 – 2011-01-25 15:52:20