文章詳情頁
javascript - 如何優化jquery循環append操作?
瀏覽:110日期:2023-05-03 10:21:08
問題描述
項目里有一個頁面展示功能,需要在指定的class所屬的標簽里添加canvas標簽,因為有查詢功能,所以要根據查詢的數據量不同來添加相應數量的canvas標簽,我現在是用循環操作,先隱藏指定的class標簽,每次循環都用append添加到指定的class的標簽里,循環完后再顯示那個隱藏的class標簽。這樣數據量小的時候頁面渲染的時間還算正常,一秒就可以了,但是只要數據量一大,差不多300條以上,就要幾秒的時間才能渲染完,500條數據就要5秒左右,上千條就要十多秒了。因為我是用thinkphp框架,一開始是想先把canvas標簽寫到html頁面里后面再用Js去修改css樣式,但是因為canvas標簽要用id來操作,而我需要添加很多canvas標簽,id又不能重復,所以選擇用js動態添加的方式。想請教大神們有沒有其他思路來解決這個問題?(ps:我不會vue或者react這種框架,要換這些的話還得從頭學起,暫時不考慮前端方面用這些重做)
問題解答
回答1:自己相當于構建了虛擬節點啊、
遍歷結束了、拼接好了一大堆節點、包一層容器
append一次就好了
標簽:
JavaScript
上一條:javascript - easyui的datebox修改后禁用值會發生變化,怎么解決下一條:javascript - ios上fixed定位問題,定位在底部的按鈕不顯示了,但是又可以點擊到,換了一個類名就可以顯示了,但是設置的字體大小卻失效了
相關文章:
1. 對mysql某個字段監控的功能2. javascript - windows下如何使用babel,遇到了困惑3. html5 - ElementUI table中el-table-column怎么設置百分比顯示。4. javascript - js中向下取整5. python - 為什么正常輸出中文沒有亂碼,zip函數之后出現中文編程unicode編碼的問題,我是遍歷輸出的啊。6. html - vue項目中用到了elementUI問題7. showpassword里的this 是什么意思?代表哪個元素8. java enum 變量不能再case里面重復定義?9. JavaScript事件10. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能
排行榜
