<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<style>
.box {
width: 1000px;
height: 500px;
background-color: #ccc;
}
</style>
</head>
<body>
<div class="box"></div>
分别在点击按钮后一秒、两秒、三秒点确定方可查看不同。<br>
<button>动画</button>
<script>
$('button').on('click', function () {
$('.box').hide(3000);
alert('弹出窗口后动画不进行,但是关掉窗口后,会直接跳到原本动画应该到的地方');
});
</script>
</body>
</html>
var i = 0;
setInterval(function () {
console.log(++i)
},1000);
alert(1);
上面是demo,
alert堵塞页面js进行,但是为什么不会堵塞动画进行?动画虽然看不到,但是它真的默默的做了。
jquery
动画是通过timer
来计算的,alert会暂停界面的刷新,但是alert结束后,timer会根据当前时间计算动画应该进行到哪个步骤了。细节可以参考jquery
代码: