Kha*_*eel 2 html javascript jquery json google-chrome
我正在一堆htmls上创建一个简单的搜索功能.我已经在javascript/jQuery中使用了简单的字符串实用程序来实现它并且它表现良好.我创建了一个包含所有结果的json字符串,同时逐个处理htmls.在移动中,我通过附加结果在Div中填充结果,并且可以在点击时导航.面临的问题是到目前为止填充的结果是不可点击的,因为浏览器在处理所有结果并创建整个json之前没有响应.整个过程完成后,我可以正确点击和导航.知道为什么浏览器挂起/没有响应这个javascript进程.??
小智 7
Javascript只在单个处理器线程上运行,这意味着它实际上一次只能做一件事.然而,JavaScript可以有时行事像它的真正任务间快速切换不超过1两件事的时间.您遇到了这种行为,因为在完全加载结果之前,线程已锁定.
你没有发布任何代码,所以这是推测.我猜你正在循环JSON结果并附加每次迭代.如果您希望在将结果附加到页面时仍能执行其他操作,则需要使用函数将代码包装在循环内部setTimeout().
for (var i = 0; i < jsonStr.length; i++) {
setTimeout(function() {
//append divs
}, 25);
}
Run Code Online (Sandbox Code Playgroud)
该代码将做的是等待25毫秒来每次迭代附加div,从而为您的其他代码执行时间.您可以根据自己的喜好微调时间,但这就是要点.
| 归档时间: |
|
| 查看次数: |
651 次 |
| 最近记录: |