專案裡有一個頁面展示功能,需要在指定的class所屬的標籤裡新增canvas標籤,因為有查詢功能,所以要根據查詢的資料量不同來新增對應數量的canvas標籤,我現在是用循環操作,先隱藏指定的class標籤,每次循環都用append加入到指定的class的標籤裡,循環完後再顯示那個隱藏的class標籤。這樣資料量小的時候頁面渲染的時間還算正常,一秒就可以了,但是只要資料量一大,差不多300條以上,就要幾秒的時間才能渲染完,500條資料就要5秒左右,上千條就要十多秒了。
因為我是用thinkphp框架,一開始是想先把canvas標籤寫到html頁面裡後面再用Js去修改css樣式,但是因為canvas標籤要用id來操作,而我需要添加很多canvas標籤, id又不能重複,所以選擇用js動態加入的方式。想請教大神們有沒有其他思路來解決這個問題? (ps:我不會vue或react這種框架,要換這些的話還得從頭學起,暫時不考慮前端方面用這些重做)
自己相當於建構了虛擬節點啊、
遍歷結束了、拼接好了一大堆節點、包一層容器
append一次就好了