2013-07-31 100 views
0

我想檢查切換狀態。當我檢查瀏覽器的控制檯日誌時,可見值爲true,並且不會更改爲false。檢查切換狀態

這是怎麼發生的?我該如何解決它?


<html> 
<head> 
<script src='~/Scripts/jquery-1.4.1.min.js' type="text/javascript"></script> 

<script type="text/javascript"> 
     $(function() { 

      $('#divUpdateForm').click(function() { 

       $('#divUpdateContent').slideToggle(); 

       console.log($('#divUpdateContent').is(":visible")); 

      }); 
     }); 
</script> 
</head> 
<body> 
<div id="divUpdateForm" runat="server" class="panel" >Update panel state</div> 

<div id="divUpdateContent" runat="server"> 
... my content 
</div> 
</body> 
</html> 

回答

0

你需要檢查一下你的幻燈片中滑動元素之前,該元素將始終可見:

$(function() { 
    $('#divUpdateForm').click(function() { 
     var v = $('#divUpdateContent').is(":visible") 


     $('#divUpdateContent').slideToggle(); 

     // note that the variable v is also accessible here ? 
     console.log(v) 
    }); 
}); 

FIDDLE

+0

但我怎麼能測試。是(「:可見」)後.slideToggle()函數 –

+0

如果你要等到幻燈片已完成,然後做一些事情,你做它回調,就像palash的回答一樣,但是等待0.6秒才能在檢查完成之前滑動元素。 – adeneo

+0

幹得好,非常感謝。 –

1

您可以檢查切換狀態在切換完成後callback功能如下:

$('#divUpdateForm').click(function() { 

    $('#divUpdateContent').slideToggle(function() { 

     // Animation complete. 
     if ($(this).is(":visible")) { 
      console.log($(this).is(":visible")); 
     } else { 
      console.log($(this).is(":visible")); 
     } 
    }); 
}); 

FIDDLE DEMO

+0

幹得好,非常感謝。 –