老师这节课中有个知识点没太懂,给盒子加个全局变量var pos=1, 然后用在if语句中点击两下就实现了?!

来源:6-1 JS和CSS3结合实现动画

Vigorous阿炎

2020-11-09 16:08:46

 如果 pos==1盒子就移动到500px地方,但是为什么再次点击就变成pos==2了呢,if中的pos=2,和else if中最后pos=1又是啥意思?


var oBtn=document.getElementById('btn');

          var box7=document.getElementById('box7');

          //标示量,指示当前盒子在左边还是右边

          var pos=1//1左边,2右边

          //事件监听

          oBtn.onclick=function(){

              //把过渡加上

              box7.style.transition='all 2s linear 0s';

              if(pos==1){

                box7.style.left='500px';

                pos=2

              }else if(pos==2){

                  box7.style.left='100px';

                  pos=1;

              }

在这里输入代码,可通过选择【代码语言】突出显示

写回答

1回答

好帮手慕星星

2020-11-09

同学你好,这里pos值只是一个标志,值任意,根据这个标志来设置left定位值。

当pos值为1的时候,left值设置为500px,也就是从100到500的过渡,然后修改pos值为2;下一次点击的时候执行else语句,left值为100px,也就是500到100的过渡,然后修改pos值为1 。第三次点击的时候,就会执行if语句。这样才会交换执行。

祝学习愉快!

0
higorous阿炎
h 噢噢,1执行完后立马修改成2,执行2,else if。 谢谢
h020-11-09
共1条回复

0 学习 · 15276 问题

查看课程