jQuery动态加载css⽂件实现⽅法
有时我们可能会需要使⽤ jQuery 来加载⼀个外部的 css ⽂件,如在切换页⾯布局时。思路是创建⼀个 link 元素,并将它添加到标记中即可,下边⾸先看看怎么使⽤ jQuery 来实现。
下边是我喜欢的写法:
$("<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 = ateElement('link');
link.href = '/Content/Site.css';
}
如果是在 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 + "></" + tag + ">");
}
}
});
/
/使⽤⽅法
$.includePath = 'hi.xxx/javascript/';
$.include(['json2.js', 'js', 'ss']);
⼀个完整的实例
index.html
<!-- Created by Barrett at RRPowered -->
<!-- File name index.html -->
<html>
<head>
<script type="text/javascript" src="leapis/ajax
/libs/jquery/1.4.4/jquery.min.js"></script>
<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;jquery下载的文件怎么使用
width:700px;
}
arrowsmith.inner{
padding:20px;
border:solid #333333 1px;
}
.menu{
background-color:#f2f2f2;
padding:10px;
font-weight:bold;
}
.footer{
属性与生活3激活码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-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{
background-color:#F7BE81; color:#404040;
}
.
menu{
background-color:#ffffff; padding:10px;
font-weight:bold;
手机查看html文件源代码color:#FFBF26;
}
.footer{ajax发送请求
background-color:#ffffff; padding:5px;
color:#FFBF26;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论