現在画面に表示されているかどうかの判定(SVG含む)

ボタンにTipsを表示させようとした

ボタンにTipsを表示させようとして、いろいろサーチしたところ、
エンティティが表示されている、非表示になってる、、の判定として、

jqobj.is(":hidden")//jqobjはjQueryなobject

というように、jQueryでis(“:hidden”)とやればいいらしい。
さらに追加として、

jqobj.css("visibility")=="hidden"

もいれれば良い。

SVGの要素はこれではダメだった

でも、実はこれ、SVGの要素を、display:none で消したりしてると、ダメなのである。
よって、、

jqobj.css("display")=="none"

も一応押さえておく。

完成形

function isDisp(selecta){
	var a = $(selecta);
	if(a[0]){
		if(a.is(":hidden")) return	false;
		if(a.css("visibility")=="hidden")	return	false;
		if(a.css("display")=="none")			return	false;
		return	true;
	}
	return	false;
}

あたりに落ち着いた。
だけれども、別にこれで完璧っていうわけでもないし。
各自、自分のスタイルにに合わせてカスタムすることが望ましい。です。(o^^o)

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です