现在的位置: 首页 > web前端 > 正文

jQuery动态加载css文件实现方法

2020年02月17日 web前端 ⁄ 共 4344字 ⁄ 字号 评论关闭

  有时我们可能会需要使用 jQuery 来加载一个外部的 css 文件,如在切换页面布局时。思路是创建一个 link 元素,并将它添加到 标记中即可,下边首先看看怎么使用 jQuery 来实现。

  jQuery动态加载css

  下边是我喜欢的写法:

  $("< link>")

  .attr({ rel: "stylesheet",

  type: "text/css",

  href: "site.css"

  })

  .appendTo("head");

  有些朋友可能会使用下边的写法,只是形式有些小差异(append appendTo),原理还是一样的。

  $("head").append("< link>");

  css = $("head").children(":last");

  css.attr({

  rel: "stylesheet",

  type: "text/css",

  href: "/Content/Site.css"

  });

  最后,有的朋友可能希望直接在 javascript 中使用,方法如下:

  function addCSS() {

  var link = document.createElement('link');

  link.type = 'text/css';

  link.rel = 'stylesheet';

  link.href = '/Content/Site.css';

  document.getElementsByTagName("head")[0].appendChild(link);

  }

  如果是在 web 交互时,我们可以使用上述的方法通过 jQuery 或者 javascript 来引入一个 css 文件,否则还是建议使用原始的方法。

  下面我还介绍一个可加载js,css的实例。

  代码如下

  $.extend({

  includePath: '',

  include: function(file) {

  var files = typeof file == "string" ? [ file]:file;

  for (var i = 0; i < files.length; i++) {   var name = files[i].replace(/^s|s$/g, "");   var att = name.split('.');   var ext = att[att.length - 1].toLowerCase();   var isCSS = ext == "css";   var tag = isCSS ? "link" : "script";   var attr = isCSS ? " type='text/css' rel='stylesheet' " : " language='javascript' type='text/javascript' ";   var link = (isCSS ? "href" : "src") + "='" + $.includePath + name + "'";   if ($(tag + "[" + link + "]").length == 0) document.write("<" + tag + attr + link + ">");

  }

  }

  });

  //使用方法

  $.includePath = 'http://hi.xxx/javascript/';

  $.include(['json2.js', 'jquery.tree.js', 'jquery.tree.css']);

  一个完整的实例

  index.html

  < !-- Created by Barrett at RRPowered.com -->

  < !-- File name index.html -->

  < html>

  < head>

  < script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">

  < script type="text/javascript">

  $(function(){

  $(".theme").click(function(){

  var theme=$(this).attr("rel");

  $("link").attr("href",$(this).attr('rel'));

  $("head").append("< link>");

  });

  });

  < /script>

  < /head>

  < body>

  < div class="theme" rel="blue.css">Blue< /div>

  < div class="theme" rel="orange.css">Orange< /div>

  < div class="theme" rel="yellow.css">Yellow< /div>

  < div class="theme" rel="default.css">Default< /div>

  < div class="container">

  < div class="menu">Tab1 Tab2 Tab3 Tab4 Tab5< /div>

  < div class="inner">

  Lorem ipsum dolor sit amet

  < /div>

  < div class="footer">copyright yoursite 2011< /div>

  < /div>

  < /body>

  < /html>

  default.css

  body{

  background-color:#ffffff;

  font-family:"arial";

  }

  .theme{

  margin:10px;

  width:70px;

  padding:5px;

  text-align:center;

  background-color:#BEF781;

  border:solid #333333 1px;

  color:#444444;

  font-weight:bold;

  cursor:pointer;

  }

  .container{

  margin-left:auto;

  margin-right:auto;

  width:700px;

  }

  .inner{

  padding:20px;

  border:solid #333333 1px;

  }

  .menu{

  background-color:#f2f2f2;

  padding:10px;

  font-weight:bold;

  }

  .footer{

  background-color:#f9f9f9;

  padding:5px;

  }

  blue.css

  body{

  background-color:#2E9AFE;

  font-family:"arial";

  }

  .theme{

  margin:10px;

  width:70px;

  padding:5px;

  text-align:center;

  background-color:#BEF781;

  border:solid #333333 1px;

  color:#444444;

  font-weight:bold;

  cursor:pointer;

  }

  .container{

  margin-left:auto;

  margin-right:auto;

  width:700px;

  }

  .inner{

  padding:20px;

  border:solid #333333 1px;

  background-color:#58ACFA;

  color:#ffffff;

  }

  .menu{

  background-color:#f2f2f2;

  padding:10px;

  font-weight:bold;

  }

  .footer{

  background-color:#f9f9f9;

  padding:5px;

  }

  yellow.css

  body{

  background-color:#F7FE2E;

  font-family:"arial";

  }

  .theme{

  margin:10px;

  width:70px;

  padding:5px;

  text-align:center;

  background-color:#BEF781;

  border:solid #333333 1px;

  color:#444444;

  font-weight:bold;

  cursor:pointer;

  }

  .container{

  margin-left:auto;

  margin-right:auto;

  width:700px;

  }

  .inner{

  padding:20px;

  border:solid #333333 1px;

  background-color:#f6f6f6;

  }

  .menu{

  background-color:#F2F5A9;

  padding:10px;

  font-weight:bold;

  }

  .footer{

  background-color:#F2F5A9;

  padding:5px;

  }

  orange.css

  body{

  background-color:#FE9A2E;

  font-family:"arial";

  }

  .theme{

  margin:10px;

  width:70px;

  padding:5px;

  text-align:center;

  background-color:#BEF781;

  border:solid #333333 1px;

  color:#444444;

  font-weight:bold;

  cursor:pointer;

  }

  .container{

  margin-left:auto;

  margin-right:auto;

  width:700px;

  }

  .inner{

  padding:20px;

  background-color:#F7BE81;

  color:#404040;

  }

  .menu{

  background-color:#ffffff;

  padding:10px;

  font-weight:bold;

  color:#FFBF26;

  }

  .footer{

  background-color:#ffffff;

  padding:5px;

  color:#FFBF26;

  }

  以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

抱歉!评论已关闭.