ajax與javascript無限級樹
過去的一年里,在項目內,我已經不記得寫過多少和樹相關的控件了。有無限級的,有數據少量一次性加載的,有數據大用ajax分步加載的,有的還加入一些業務邏輯,有的甚至還做過本地緩存。各種各樣的樹,其結構還是一樣的,為了追求簡單,全部都是<ul>與<li>結構,子級錯位用 margin-left 實現,展開收縮的狀態有的用加減的字符表示,漂亮一點就用圖標。
下面的例子,數據是省市區三級的數據,約三千多條記錄,例子采用 Ajax 分步加載子級數據,并緩存起來。如點擊“廣東省”,則馬上獲取該省所有的市,如果切換到其他省再切換回“廣東省”,則使用剛才所獲取的結果,不再請求。達到最小請求數量。如果整體數據量小,沒必要分步獲取增大請求次數,可以在頁面初始化時一次性獲取所有數據,每次展開節點時讀取部分數據亦可。兩種方法適用的場合不同。
全站熱搜