jquery之动画animate底层原理猜测
jQuery中animate()方法使用时,如果想像一般的程序那样在程序进行到最后的时候执行一句条件语句变量的更变:
html代码:
<div id="dv">
<div id="d2"></div>
</div>
<button id="move">移动</button>
css:div{
display:none;
position:relative;
left:0px;
}
js代码:
var disp=0;
$("#move").click(function(){
if(disp==0){
//在本次动画执行完成之前不允许下次动画开始,所以更改disp的值
disp=1;
$("#dv").animate({
left:20,
},{
duration:2000
});
}
//一般在程序执行到这里时说明上面的程序都已经执行完毕了,可是动画并不是这样,在这里更改disp的值,
disp=0;
//这时disp的值在动画执行前已经更改了,因为在本次程序执行完毕前,动画语句都在等待状态。所以这样改变判断条件是不行的
});