<!DOCTYPE html><html><head> <meta charset="UTF-8" /> <title>Document</title> <script type="text/javascript" src="jquery-2.2.1.min.js"></script> <style type="text/css">*{margin: 0;padding: 0;list-style: none;}li{width: 100px; background: #fcf; height: 20px; } </style></head><body> <div id="box"> <button id="btn">点击切换</button> <ul> <li>1</li> <li>2</li> <li>3</li> </ul> </div></body></html><script type="text/javascript"> $("#btn").click(function(){ var num = true; if(num==true){ $("ul").slideUp(500,function(){ num = false; }); } else{ $("ul").slideDown(500,function(){ num = true; }) }; });</script>
2 回答
已采纳
qq_冲哥_0
TA贡献40条经验 获得超30个赞
var num = true; 写的地方不对, 要写在click 事件的外面。
你现在这样写,只有点击之后,num 才赋值为true, 那么永远只会执行if(num==true) 后面语句。
写在click 事件外面, 如下,那么点击之后,直接进行判断,那个条件符合执行哪一个。
var num = true;
$("#btn").click(function(){
if(num==true){
$("ul").slideUp(500,function(){
num = false;
});
} else{
$("ul").slideDown(500,function(){
num = true;
})
};
});
}
霍霍不二
TA贡献6条经验 获得超1个赞
if...else...语句只判断if后面的条件一次,如果为true则之行if后面的语句,否则之行else中的语句。
如果是两个if的话会分别判断两个if后面的语句。
添加回答
举报
0/150
提交
取消