点击按钮的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回答

好帮手慕糖

2020-04-23

同学你好,nav的高度,height默认设置的是0吗?

 第二个代码中,flag没有赋值,是undefined,判断的时候不等于true,所以会先执行else语句,又将其高度设置为0了,本身就是0,所以没效果。执行else的时候,将flag赋值为true了。所以第二次点击执行if语句。点击了两次才执行了if语句,实现效果。

第一个代码中,有明确的给flag赋值为true,所以直接执行if语句,实现效果。

另,建议:之后有关代码的问题,建议:提供完整的代码,包括html、css等,便于测试,从而准确的定位与解决问题。

祝学习愉快~

0

0 学习 · 6815 问题

查看课程