如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
如何使用 . hide () 、.show () 或.toggle () 来切换元素的可见度 ?
如果元素可见或隐藏, 我如何测试 ?
当前回答
if($('#id_element').is(":visible")){
alert('shown');
}else{
alert('hidden');
}
其他回答
有两种方法可以检查元素的可见度。
解决办法1
if($('.selector').is(':visible')){
// element is visible
}else{
// element is hidden
}
解决办法2
if($('.selector:visible')){
// element is visible
}else{
// element is hidden
}
简单检查显示属性(或视您喜欢的隐形类型而定的可见度) 。 例如 :
if ($('#invisible').css('display') == 'none') {
// This means the HTML element with ID 'invisible' has its 'display' attribute set to 'none'
}
您可以尝试这个
$(document).ready(function() {
var view = $(this).is(':visible');
if(view) {
alert("view");
// Code
}
else
{
alert("hidden");
}
});
1 支架解决办法
用于确定一个元素在jquery 中是否可见的方法
<script>
if ($("#myelement").is(":visible")){alert ("#myelement is visible");}
if ($("#myelement").is(":hidden")){alert ("#myelement is hidden"); }
</script>
在 id “ mayement” 元素中所有可见的 diiv 子元素上循环 :
$("#myelement div:visible").each( function() {
//Do something
});
被偷偷看
jquery 如何执行此特性 :
jQuery.expr.filters.visible = function( elem ) {
return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
};
· 如何检查某一元素是否在屏幕外- css
使用元素.getting clientrect () 您可以很容易地检测到您的元素是否在您的视图( 屏幕上或屏幕下) 范围内 :
jQuery.expr.filters.offscreen = function(el) {
var rect = el.getBoundingClientRect();
return (
(rect.x + rect.width) < 0
|| (rect.y + rect.height) < 0
|| (rect.x > window.innerWidth || rect.y > window.innerHeight)
);
};
然后,你们可以几种方式使用它:
// Returns all elements that are offscreen
$(':offscreen');
// Boolean returned if element is offscreen
$('div').is(':offscreen');
如果您使用角,请检查:不使用角的隐藏属性
这个问题最简单的答案是:
function checkUIElementVisible(element) {
return ((element.css('display') !== 'none') && (element.css('visibility') !== 'hidden'));
}