为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript代码执行的作用域顺序问题?

JavaScript代码执行的作用域顺序问题?

繁星淼淼 2018-11-13 17:18:51
var mark2=true;$(".right").click(function(){        if(mark2){           move(1);            mark2=false;         }     })function move(obj){             obj.animate({                    width: arrW[index],                     height: arrH[index],                    opacity: arrO[index],                    left: arrL[index],                    top: arrT[index]                },500,function(){                    mark2=true;                })                }                点击(".right")执行move函数,主要是为了给obj元素添加动画,为了防止(".right")点击的频率过快,让动画叠加,所以就用 mark2来控制,当动画执行完成后,也就是500毫秒后mark才为true,点击$(".right")才执行,否则不执行,但是我有一个疑问,就是当点击速度大于500毫秒的时候,if语句中的mark都没有执行的机会,又是重新一次点击了,那不是一直叠加动画了吗?因为mark一直为true,好像我这个理解是错误的,因为程序是能正常执行的,所以希望大神指点一下,程序的执行过程
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

我理解你的问题的核心是 点击速度大于500ms,是这样的,只有在同一个元素上相继触发了mousedown mouseup事件后才会触发 click事件。 触发click事件后才会执行move()

所以你考虑的超时的情况是不会发生的。


查看完整回答
反对 回复 2018-12-25
  • 1 回答
  • 0 关注
  • 419 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号