我试图找出这是否是获取具有的div容器的可见性状态的正确方法 position: absolute。
我在视口的左侧有一个侧边栏。单击“边栏按钮”时,“边栏”会在可见区域之外进行动画处理。
jQuery的:
$('#sideBarButton').click(function(){
sidebar = $("#sideBar").outerWidth();
if(!$("#sideBar").hasClass('outof'))
{
$("#sideBar").animate({left: screenW},100).addClass('outof');
$("#boardContent").animate({width: screenW},200);
$("#sideBarButton").animate({left: "+=" + (sidebar -3)},100);
}
else
{
$("#boardContent").animate({width: bcW}, 50);
setTimeout(function(){
$("#sideBar").animate({left: screenW - sidebar}, 200).removeClass('outof');
$("#sideBarButton").animate({left: "-=" + (sidebar -3)},200);
}, 120);
}
$(this).find('img').toggle();
});
Run Code Online (Sandbox Code Playgroud)
由于sidebar现在根本不可见(对我而言),并且sidebar的左侧位置大于document.width,所以我的问题是我可以像这样获取(sideBar)的可见状态:
if($("#sideBar").is(":visible"))...
Run Code Online (Sandbox Code Playgroud)
或者,还有更好的方法?我的意思是jQuery如何确定某个元素是否可见?