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