首页 > 语言 > JavaScript > 正文

javascript实现动态加载CSS

2024-05-06 16:15:16
字体:
来源:转载
供稿:网友
最近在做自己的小框架的按需加载模块,那么就需要做到异步动态加载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; 
}
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选