文章詳情頁
javascript - 如何優化jquery循環append操作?
瀏覽:126日期: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. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?2. sql語句 - mysql中關聯表查詢問題3. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?4. javascript - [js]為什么畫布里不出現圖片呢?在線等5. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。6. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變7. html - vue項目中用到了elementUI問題8. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?9. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?10. javascript - 有什么比較好的網頁版shell前端組件?
排行榜
