不用toggle()方法。也不用$("#a1").hide(1000).show(1000);
<div class="left">
<div id="a1">hide-show</div>
<button>直接hide-show动画</button>
</div>
<script type="text/javascript">
$("button").click(function(){
if($("#a1").length>0){
$("#a1").hide(2000);
}
else{
$("#a2").show(2000);
}
})
</script>
用判断语句写了之后点击能隐藏 ,但不能自动显示了。请问是哪出了问题
show()、hide()方法修改的是元素的高度、宽度、透明度;不会修改字符长度的,所以不能用.length判断
$("button").click(function(){ if($("#a1").css('display')=='block'){ $("#a1").hide(2000); } else{ $("#a1").show(2000); } })
感觉按照楼上复制粘贴不行
<script type="text/javascript">
$("button").click(function(){
if($("#a1").length>0){ //判断a1的长度是否大于0,结果只能显示一种
$("#a1").hide(2000); //大于0 隐藏,执行完毕,就不在执行else{}里的语句
}
else{
$("#a1").show(2000); //小于0 显示
}
})
</script>
想要隐藏后自动显示,只需给show() 加个时间
$("button").click(function(){
if($("#a1").length>0){
$("#a1").hide().show(2000);
}
});
id写错了亲
。。。你的#a2在哪