Heim > Web-Frontend > js-Tutorial > Hauptteil

Ausführliche Erläuterung der Schritte zum dynamischen Laden von CSS-Dateien mit jQuery

php中世界最好的语言
Freigeben: 2018-04-23 15:54:55
Original
2257 Leute haben es durchsucht

Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum dynamischen Laden von CSS-Dateien mit jQuery. Was sind die Vorsichtsmaßnahmen für das dynamische Laden von CSS-Dateien mit jQuery? .

Manchmal müssen wir möglicherweise jQuery verwenden, um eine externe CSS-Datei zu laden, beispielsweise beim Wechseln des Seitenlayouts. Die Idee besteht darin, ein Link-Element zu erstellen und es dem Tag hinzuzufügen. Sehen wir uns zunächst an, wie man dies mit jQuery erreicht.

Das Folgende ist meine Lieblingsschreibmethode:

$("<link>")
.attr({ rel: "stylesheet",
type: "text/css",
href: "site.css"
})
.appendTo("head");
Nach dem Login kopieren

Einige Freunde verwenden möglicherweise die folgende Schreibmethode, aber die Form ist etwas anders (append appendTo), das Prinzip ist immer noch dasselbe.

$("head").append("<link>");
css = $("head").children(":last");
css.attr({
rel: "stylesheet",
type: "text/css",
href: "/Content/Site.css"
});
Nach dem Login kopieren

Schließlich möchten einige Freunde es vielleicht direkt in Javascript verwenden. Die Methode ist wie folgt:

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);
}
Nach dem Login kopieren

Wenn es während der Webinteraktion ist, können wir die obige Methode verwenden Verwenden Sie jQuery oder Javascript, um eine CSS-Datei einzuführen. Andernfalls wird empfohlen, die ursprüngliche Methode zu verwenden.

Nachfolgend stelle ich auch ein Beispiel vor, das js und css laden kann

Der Code lautet wie folgt

$.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(&#39;.&#39;);
var ext = att[att.length - 1].toLowerCase();
var isCSS = ext == "css";
var tag = isCSS ? "link" : "script";
var attr = isCSS ? " type=&#39;text/css&#39; rel=&#39;stylesheet&#39; " : " language=&#39;javascript&#39; type=&#39;text/javascript&#39; ";
var link = (isCSS ? "href" : "src") + "=&#39;" + $.includePath + name + "&#39;";
if ($(tag + "[" + link + "]").length == 0) document.write("<" + tag + attr + link + "></" + tag + ">");
}
}
});
//使用方法
$.includePath = 'http://hi.xxx/javascript/'; 
$.include(['json2.js', 'jquery.tree.js', 'jquery.tree.css']);
Nach dem Login kopieren

Ein vollständiges Beispiel

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>
<link rel="stylesheet" type="text/css" href="default.css">
<title>A simple jQuery image slide</title>
<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>
<p class="theme" rel="blue.css">Blue</p>
<p class="theme" rel="orange.css">Orange</p>
<p class="theme" rel="yellow.css">Yellow</p>
<p class="theme" rel="default.css">Default</p>
<p class="container">
<p class="menu">Tab1 Tab2 Tab3 Tab4 Tab5</p>
<p class="inner">
Lorem ipsum dolor sit amet
</p>
<p class="footer">copyright yoursite 2011</p>
</p>
</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;
}
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Zusammenfassung der Methode von jQuery zur Zeitbeschaffung

Was sind die Vorsichtsmaßnahmen für ein jQuery-Versions-Upgrade

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Schritte zum dynamischen Laden von CSS-Dateien mit jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage