javascript实现动态加载CSS
更新时间:2015年01月26日 09:38:16 投稿:hebedich
最近在做自己的小框架的按需加载模块,那么就需要做到异步动态加载css文件。仔细研究了一番,得到了如下解决方案,分享给大家。
复制代码 代码如下:
<script type="text/javascript">
function addStyle(stylePath) {
var container = document.getElementsByTagName("head")[0];
var addStyle = document.createElement("link");
addStyle.rel = "stylesheet";
addStyle.type = "text/css";
addStyle.media = "screen";
addStyle.href = stylePath;
container.appendChild(addStyle);
}
addStyle('http://www.xxx.com/wintys/dynamic.css');
</script>
JS写的函数,用来控制JS文件的动态加载,也就是在需要的时候才加载JS文件,同时还可加载CSS文件,这样就可实现网页换肤,这觉得这个函数写的不错,认真的看下,自己在完善下,还是相当不错的。
复制代码 代码如下:
function $import(path,type,title){
var s,i;
if(!type) type=path.substr(path.lastIndexOf(".")+1);
if(type=="js"){
var ss=document.getElementsByTagName("script");
for(i=0;i<ss.length;i++){
if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i];
}
s=document.createElement("script");
s.type="text/javascript";
s.src=path;
if(title) s.title=title;
}
else if(type=="css"){
var ls=document.getElementsByTagName("link");
for(i=0;i<ls.length;i++){
if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i];
}
s=document.createElement("link");
s.rel="stylesheet";
s.type="text/css";
s.href=path;
if(title) s.title=title;
s.disabled=false;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
return s;
}
相关文章
javascript(jquery)利用函数修改全局变量的代码
现在博客系统的评论遇到一个问题,用户点击“最后一页”链接之后就自动调取最后一页的资料来显示。2009-11-11javascript实现的textarea运行框效果代码 不用指定id批量指定
今天在写一个网页的时候用到了N多嵌套在textarea标签里的代码,定义双击运行其内的代码段。但是每次创建一个这样的可运行的实例都要给textarea元素自定义一个id值和写入双击事件,好不麻烦。2009-12-12
最新评论