jQuery - 检查元素是否可见并淡入

时间:2015-08-07 17:44:12

标签: jquery

我的页面上有一个<div>元素(假设它有.myelement类)。我有一个操纵元素的第三方脚本,可以将其可见性样式属性更改为“visibility: visible”。

我需要检查.myelement的可见性是否为:visible,如果是,则触发jQuery .fadeIn()函数。

4 个答案:

答案 0 :(得分:5)

我认为你的意思是检查元素是否可见,如果,则将其淡入。在页面上已经可见的元素中没有任何淡入淡出。如果是这种情况,你应该这样做:

var $element = $('.myelement');
if ($element.is(':visible')) {
    element.fadeOut();
} else {
    element.fadeIn();
}

答案 1 :(得分:0)

尝试使用.css("property")函数提取属于visible属性的样式值,然后执行常规比较,如果条件的计算结果为true,则调用fadeIn

var elem = $(".myelement");
if(elem.css("visibility") === "visible"){
  elem.fadeIn();
}

答案 2 :(得分:0)

你可以使用jquery css函数

//first cache your element 
var elm = $(".myelement");//better to use an id if you are targeting a specific element 

 if (elm.css("visibility") === "visible"){
  elm.fadeIn();
 }else{
   elm.fadeOut();
 }

答案 3 :(得分:0)

我认为在启动fadeIn动画之前你必须在元素上设置display:none,所以fadeIn函数会轻柔地显示你的div。 在jquery中,你可以使用hide()

来完成它

试试这个片段,对我而言

jQuery(document).ready(function(){
   var $myel = $(".myelement");  
   if ($myel.css("visibility") === "visible"){
     $myel.hide();
     $myel.fadeIn("slow");
   }
});