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优雅实现文本展开收起功能

    使用JavaScript优雅实现文本展开收起功能

    这篇文章主要为大家详细介绍了如何使用JavaScript优雅实现文本展开收起功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • JavaScript实现组件化和模块化方法详解

    JavaScript实现组件化和模块化方法详解

    这篇文章主要介绍了JavaScript实现组件化和模块化方法,模块化主要是指一个JS文件就是一个模块,向外提供特定功能的程序,组件化的中心思想其实跟模块化是大同小异的,感兴趣想要详细了解可以参考下文
    2023-05-05
  • javascript实现详细时间提醒信息效果的方法

    javascript实现详细时间提醒信息效果的方法

    这篇文章主要介绍了javascript实现详细时间提醒信息效果的方法,涉及javascript操作时间的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • js单线程的本质 Event Loop解析

    js单线程的本质 Event Loop解析

    这篇文章主要介绍了js单线程的本质 Event Loop解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • three.js实现3D影院的原理的代码分析

    three.js实现3D影院的原理的代码分析

    本篇文章主要给大家讲解了如何通过three.js实现3D影院的功能以及原理分析,需要的朋友参考一下吧。
    2017-12-12
  • JS逆向之加密参数定位

    JS逆向之加密参数定位

    越来越多的网站进行数据传输时不使用明文传输,本文主要介绍了JS逆向之加密参数定位,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • 小程序的基本使用知识点(非常全面,推荐!)

    小程序的基本使用知识点(非常全面,推荐!)

    开发一个小程序在如今来讲是较为简单的,但其实还是有很多的知识点需要大家记住,这篇文章主要给大家介绍了关于微信小程序基本使用的相关资料,需要的朋友可以参考下
    2021-06-06
  • 教你如何在 Javascript 文件里使用 .Net MVC Razor 语法

    教你如何在 Javascript 文件里使用 .Net MVC Razor 语法

    文章主要是介绍了通过一个第三方类库RazorJS,实现Javascript 文件里使用 .Net MVC Razor 语法,很巧妙,推荐给大家
    2014-07-07
  • JS弹出居中的DIV的代码

    JS弹出居中的DIV的代码

    一直都在想怎么样使弹出的DIV能在任何时候都是居中显示的,刚开始的时候是用CSS样式直接定义好层的位置,但是当页面很长的时候,或是浏览器窗口大小不是固定的时候就不能正确的显示,所以只好用JS来控制DIV的显示位置。
    2008-06-06
  • JS小功能(checkbox实现全选和全取消)实例代码

    JS小功能(checkbox实现全选和全取消)实例代码

    这篇文章主要介绍了checkbox实现全选和全取消实例代码,有需要的朋友可以参考一下
    2013-11-11

最新评论