项目里有一个页面展示功能,需要在指定的class所属的标签里添加canvas标签,因为有查询功能,所以要根据查询的数据量不同来添加相应数量的canvas标签,我现在是用循环操作,先隐藏指定的class标签,每次循环都用append添加到指定的class的标签里,循环完后再显示那个隐藏的class标签。这样数据量小的时候页面渲染的时间还算正常,一秒就可以了,但是只要数据量一大,差不多300条以上,就要几秒的时间才能渲染完,500条数据就要5秒左右,上千条就要十多秒了。
因为我是用thinkphp框架,一开始是想先把canvas标签写到html页面里后面再用Js去修改css样式,但是因为canvas标签要用id来操作,而我需要添加很多canvas标签,id又不能重复,所以选择用js动态添加的方式。想请教大神们有没有其他思路来解决这个问题?(ps:我不会vue或者react这种框架,要换这些的话还得从头学起,暂时不考虑前端方面用这些重做)
自己相当于构建了虚拟节点啊、
遍历结束了、拼接好了一大堆节点、包一层容器
append一次就好了