JavaScript 的 get-it-done 特性

标签 javascript dom-events

JavaScript 是否旨在尽可能少地在网站/网络应用程序上运行?我的意思是,通常的意图是在页面加载后立即运行所有 js 文件并将它们放在一边,然后当函数出现时立即执行它们并完成它吗?

我正在开发一个使用谷歌地图的项目,我有一个自定义标记对象的脚本,调试器告诉我浏览器在页面上出现任何内容之前就运行了我所有的 js 文件。

我的问题出在这里:我想使用 jQuery(类似于停靠栏中的 OS X 图标)为某些标记设置动画以连续上下弹跳,而我对无限循环功能的多次尝试都使浏览器崩溃。所以我知道浏览器不喜欢那样,但是有没有办法让一个简单的脚本在用户浏览页面时在后台重复自身?或者 JavaScript 不应该是是这样用的吗?

(我用 Flash 工作了很长时间,所以我的心态仍然存在。)

最佳答案

是的,Javascript 函数应该尽其所能并尽快退出。 GUI 和脚本在同一个单线程上运行,因此只要您在 Javascript 函数中,浏览器中就不会显示任何内容。如果您尝试使用无限循环,浏览器将出现卡住状态。

您可以使用 window.setIntervalwindow.setTimeout 方法来触发在特定时间运行的代码。通过运行每秒更新几次的间隔,您可以创建动画。

关于JavaScript 的 get-it-done 特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974538/

相关文章:

javascript - 浏览器中有搜索/查找事件吗?

Javascript 检查键盘状态

javascript - 在 Javascript 中删除项目

javascript - 有没有办法在 Javascript 中获取所有事件监听器绑定(bind)?

javascript - 下拉列表元素包含子字符串/模式 : Disable element

javascript - 如何确保 nodejs 的顺序执行以从查询返回结果?

Javascript 日期字符串构造函数更改时区

javascript - 在 ExtJS 中,单击打开文件上传字段之前触发事件

javascript - 从数据库检索数据 - Laravel

javascript - 在 $.getJSON 中发送