在編寫專題圖功能時,有一個場景爲打開A專題數據windowA後,查詢時間改變後須要從新渲染打開window,這時候執行windowA.close();windowB.open(),發現windowB中的統計圖模塊沒有渲染出來,經調試發現,在執行統計圖渲染時,windowA雖然關閉了,可是dom中還存在windowA的內容,致使統計圖渲染時發現渲染容器ID存在兩個,heightCharts沒有報錯,可是也沒法正確渲染。dom
按照Layer的官方文檔描述,調用Close()方法後會銷燬layer元素。可是沒有找到銷燬元素是否有延遲存在。在Layer的論壇中也沒有找到這種問題的解決方法。調試
採起了一種笨方法,在windowA.close()以前,清空windowA的內容元素,而後執行windowB.open()。文檔
元素銷燬的延遲性很難發現,只有跟js的執行語句的同時查看dom的變化才能發現,耗費了很多時間。容器
後續查看layer的源代碼發現有下列代碼:渲染
其中發現3.0增長isOutAnim屬性默認爲true,致使延遲200毫秒執行銷燬dom元素。須要設置isOutAnim:true方法