由于最近在弄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