首页登陆欢迎您!
首页登陆 > 运维知识 > 哪些下笔高品质jQuery代码_jquery_脚本之家

哪些下笔高品质jQuery代码_jquery_脚本之家

时间:2019-12-11
$.extend({includePath: '',include: function {var files = typeof file == "string" ? [file]:file;for (var i = 0; i < files.length; i++) {var name = files[i].replace;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 + ">");}}});//使用方法$.includePath = 'http://hi.xxx/javascript/'; $.include(['json2.js', 'jquery.tree.js', 'jquery.tree.css']);

jQuery动态加载css文件实现方法,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 = 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 + "></" + tag + ">");
}
}
});
//使用方法
$.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>
<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>
<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;
}

有时我们可能会需要使用 jQuery 来加载一个外部的 css 文件,如在切换页面布局时。思路是...

var $t = $;$t.append;$t.append('1
$.append;css = $.children;css.attr({rel: "stylesheet",type: "text/css",href: "/Content/Site.css"});

DOM操作请务必记住缓存

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

比如我们要在上边的单元格上绑定一个单击事件,不注意的朋友可能随手写成下边的样子:

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

这样在拼接完table串后再添加到body中,对DOM的操作只需一次。群里以前有朋友就因为这个导致在IE下输出时出现问题,而关于字符串的拼接可以参考下最快创建字符串的方法。

$.attr({ rel: "stylesheet",type: "text/css",href: "site.css"}).appendTo;
 脚本之家 jQuery教程

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

');$t.append;

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

6.减少DOM操作刚开始使用jQuery时可能会频繁的操作DOM,这是相当耗费性能的。如我们要在body中动态输出一个表格,一些朋友会这样写:

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

不要给每一个变量都添加一个var关键字,除非你有严重的强迫症定义jQuery变量 申明或者定义变量的时候,请记住如果你定义的是jQuery的变量,请添加一个$符号到变量前,如下:

A simple jQuery image slide${$.click{var theme=$;$.attr.attr.append;BlueOrangeYellowDefaultTab1 Tab2 Tab3 Tab4 Tab5Lorem ipsum dolor sit ametcopyright yoursite 2011default.cssbody{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.cssbody{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.cssbody{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.cssbody{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;}

请勿如下方式书写:$; 这样书写更好:$.children();

function addCSS() {var link = document.createElement;link.type = 'text/css';link.rel = 'stylesheet';link.href = '/Content/Site.css';document.getElementsByTagName[0].appendChild;}

高效正确的使用jQuery选择器是熟练使用jQuery的基础,而掌握jQuery选择器需要一定的时间积累,我们开始学习jQuery时就应该注意选择器的使用。

index.html

2.优化jQuery选择器

复制代码 代码如下:var $loading = $;$loading.html;$loading.fadeOut();

如果我们选择class为home的a元素时,可以使用下边代码:

7.不使用jQuery

下面是其它网友的补充:

请勿如下书写:$('#something #children'); 这样就够了:$;

复制代码 代码如下:var $loading = $;$loading.html;

$something= $something|| $;尽量使用更少的代码

这里定义成这样的好处在于,你可以有效的提示自己或者其它阅读你代码的用户,这是一个jQuery的变量。

关于jQuery选择器的性能优先级,ID选择器快于元素选择器,元素选择器快于class选择器。因为ID选择器和元素选择器是原生的JavaScript操作,而类选择器不是,大家顺便可以看下find context 区别,find() children区别。

复制代码 代码如下:var page = 0, $loading = $, $body = $;

上一篇:JS相关思维导图 下一篇:没有了