首页 新闻 会员 周边

大量操作DOM元素时浏览器其他事件卡死

0
悬赏园豆:60 [已解决问题] 解决于 2015-11-03 13:32

目前在做一个实时获取数据然后显示的界面,

ajax调用后台返回数据显示在界面,由于获取到数据后操作n多个dom元素给改变值或者显示隐藏改变样式等操作,开始操作之前到完成操作大概用5秒左右;

同时该页面还有其他的一些方法鼠标右击等事件。

感觉js函数操作过程中,鼠标右击事件卡住,操作完成后就可以了;

怎么可以js函数和鼠标事件可以做到相似与异步啊,就是js函数去执行 同时鼠标可以正常操作,或者是可以优先处理鼠标事件?

-简体的主页 -简体 | 初学一级 | 园豆:9
提问于:2015-11-02 17:56
< >
分享
最佳答案
0

http://blog.csdn.net/wenle006/article/details/5601154

文中的思路可以借鉴,比如不需要将所有的结果全部展示出来,按需分批加载,这样对用户来说是感觉不到的

收获园豆:40
Zery | 大侠五级 |园豆:6151 | 2015-11-03 11:24
其他回答(2)
0

首先,卡住是必然的,JS单线程跑的。

另外对于大量操作dom的话,你可以直接先把dom元素缓存起来。操作完成之后,再追加到dom树中,这样可以提高执行效率,应该不至于用到5s。

幻天芒 | 园豆:37175 (高人七级) | 2015-11-03 09:17
0

 操作dom还是较耗时的,但还不至于要5s吧,看一下你后台的获取数据是不是比较耗时的

秋壶冰月 | 园豆:5903 (大侠五级) | 2015-11-03 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册