点击按钮的JS问题
来源:4-4 自由编程
慕仰3297879
2020-04-22 21:03:33
<script type="text/javascript">
var flag =true;
var nav = document.getElementById('nav');
btn.onclick = function(){
if(flag){
nav.style.height = '121px';
flag = false
}else{
nav.style.height = 0;
flag = true
}
}
// var flag;
// var nav = document.getElementById('nav');
// btn.onclick = function(){
// if(flag==true){
// nav.style.height = '121px';
// flag = false
// }else{
// nav.style.height = 0;
// flag = true
// }
// }
</script>
上面没注释的代码点击一次可以实现,下面注释的代码第一次需要点击两次,请问这两种写法的区别在哪,为什么会有这种影响
1回答
同学你好,nav的高度,height默认设置的是0吗?
第二个代码中,flag没有赋值,是undefined,判断的时候不等于true,所以会先执行else语句,又将其高度设置为0了,本身就是0,所以没效果。执行else的时候,将flag赋值为true了。所以第二次点击执行if语句。点击了两次才执行了if语句,实现效果。
第一个代码中,有明确的给flag赋值为true,所以直接执行if语句,实现效果。
另,建议:之后有关代码的问题,建议:提供完整的代码,包括html、css等,便于测试,从而准确的定位与解决问题。
祝学习愉快~
相似问题
回答 9
回答 1