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;
}

相关文章

  • Openlayers实现点闪烁扩散效果

    Openlayers实现点闪烁扩散效果

    这篇文章主要为大家详细介绍了Openlayers实现点闪烁扩散效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • javascript中直接写php代码的方法

    javascript中直接写php代码的方法

    这篇文章介绍了javascript中直接写php代码的方法,有需要的朋友可以参考一下
    2013-07-07
  • 2012世界末日倒计时代码 原来没事虚惊一场

    2012世界末日倒计时代码 原来没事虚惊一场

    这款时世界末日倒计时源代码,程序上有JS控制器,是用于网页中显示的倒计时器,自己可以设定世界末日的开始时间,网页倒计时世界末日源代码直接复制就可以用
    2012-12-12
  • js实现自定义路由

    js实现自定义路由

    本文介绍了js实现自定义路由,主要是事件hashchange的使用,然后根据我们的业务需求封装。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • js中undefined该怎么判断浅析

    js中undefined该怎么判断浅析

    可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面这篇文章主要给大家介绍了关于js中undefined该怎么判断的相关资料,需要的朋友可以参考下
    2023-04-04
  • 微信小程序 行的删除和增加操作实现详解

    微信小程序 行的删除和增加操作实现详解

    这篇文章主要介绍了微信小程序 行的删除和增加操作实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • js canvas实现QQ拨打电话特效

    js canvas实现QQ拨打电话特效

    这篇文章主要为大家详细介绍了js canvas实现QQ拨打电话特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Javascript之图片的延迟加载的实例详解

    Javascript之图片的延迟加载的实例详解

    这篇文章主要介绍了Javascript之图片的延迟加载的实例详解的相关资料,这里对延迟加载和异步加载进行了详解和使用方法,需要的朋友可以参考下
    2017-07-07
  • javascript Array.remove() 数组删除

    javascript Array.remove() 数组删除

    下面的代码主要是实现了,删除数组中指定的值。
    2009-08-08
  • Add a Table to a Word Document

    Add a Table to a Word Document

    Add a Table to a Word Document...
    2007-06-06

最新评论