我想根据需要加载CSS文件(通过例如运行一个xmlhttp请求,返回要加载的CSS文件),例如:style1.css,style2.css ..
所以 – 是有一种方式在jQuery(或插件)到这:
>批量加载几个文件将所有这些css文件添加到dom
>完成加载时:触发回调(类似警报“所有样式表都完成加载!
这个想法是:通过xmlhttp加载html,加载所需的css文件,
然后 – 任何事情完成后,显示该html。
有任何想法吗?谢谢
解决方法
如何加载多个CSS文件与回调请求
请注意,没有xdomain权限,$ .get将只加载本地文件
请注意,没有xdomain权限,$ .get将只加载本地文件
$.extend({ getManyCss: function(urls,callback,nocache){ if (typeof nocache=='undefined') nocache=false; // default don't refresh $.when( $.each(urls,function(i,url){ if (nocache) url += '?_ts=' + new Date().getTime(); // refresh? $.get(url,function(){ $('<link>',{rel:'stylesheet',type:'text/css','href':url}).appendTo('head'); }); }) ).then(function(){ if (typeof callback=='function') callback(); }); } });
var cssfiles=['/css/normalize.css','/css/tricks.css']; $.getManyCss(cssfiles,function(){ // do something,e.g. console.log('all css loaded'); });
$.getManyCss(cssfiles,e.g. console.log('all css loaded'); },true);