在浏览器页面上打开模式对话框,停止重绘页面。 脚本在后台异步启动,不间断运行。
我在这个JSfiddle http://jsfiddle.net/YNbux/中说明了这种行为。该框在显示alert()
时停止动画,并在警报关闭时跳入动画。
此行为存在于(至少在我的计算机上):
所以我猜它是预期的行为 - 但会导致动画跳跃,以及其他对最终用户来说似乎有些瑕疵的事情。那么为什么alert()
和confirm()
会阻止重绘页面?
修改 gif-images也会停止重绘:http://jsfiddle.net/YNbux/4/
答案 0 :(得分:4)
这些功能是阻止功能。您的JavaScript会一直停止执行,直到它们返回。
您的动画以及不在后台的内容与您调用alert()
的代码没有完全分开。看似异步的代码仍然需要在循环中执行,如果某些代码阻塞了循环,它们将不会自行运行。这对于正确运行代码至关重要。