如何使用jQuery切换返回元素状态?

时间:2014-01-09 22:34:02

标签: jquery html toggle

关闭切换时的警报消息。 这个切换工作但没有警觉。

脚本:

$( "#btn-toggle" ).click(function() {
  $( "#btn-container-all" ).toggle( "slow" );
  var isHidden = $('#btn-container-all').is(":hidden");
   if(isHidden)  { 
     alert('closed');   
  }
});

HTML:

<input type="button" id="btn-toggle" value="list"  />
    <div id="btn-container-all"> //codes... </div>

1 个答案:

答案 0 :(得分:5)

为此原因使用回调函数:
 的 DEMO

$( "#btn-toggle" ).click(function() {
  $( "#btn-container-all" ).toggle( "slow", function(){
      var isHidden = $(this).is(":hidden");
      if(isHidden)  { 
          alert('closed');  
      }
  });
});

也不要忘记this关键字


如果您想创建一个通用函数来测试不同情况下的更多元素,那么您不需要重复自己:
DEMO

function isElementClosed(){
  if($(this).is(":hidden")){
    alert('closed');
  }
}

$( "#btn-toggle" ).click(function() {
   $( "#btn-container-all" ).toggle( "slow", isElementClosed);
});