由於最近在弄echarts,關於地圖類的效果,但是全國地圖整體的js文件太大了,加載很耗費資源,所以要根據不同省份加載不同地區的js地圖,
於是就想的比較簡單,
var script = document.createElement ("script") script.type = "text/javascript"; script.src = url; document.getElementsByTagName("head")[0].appendChild(script);
直接加載上去了,可是出現一種詭異的效果,當第一次點擊一個省份的時候,不出現效果,第二次點擊才出現,以后就正常了,點擊一次就出現已經點擊過的
省份了,瞬間就尷尬了。。。仔細一想,可不是這么玩啊,js文件還沒加載完成,就畫地圖了,所以就 需要時間加載js文件了,想到了 script的onload事件了,但是
這個事件針對ie還有一定的兼容問題,就不是很好玩了,各種試驗,各種資料才最后實現了動態加載js,實現完美的效果了。。。
function loadFun(url, callback){ var script = document.createElement ("script") script.type = "text/javascript"; if (script.readyState){ script.onreadystatechange = function(){ if (script.readyState == "loaded" || script.readyState == "complete"){ script.onreadystatechange = null; callback(); } }; } else { script.onload = function(){ callback(); }; } script.src = url; document.getElementsByTagName("head")[0].appendChild(script); }
有需要的同學,可以愉快的玩耍一下了...
還可以進入個人博客:www.jishubar.cn