jQuery插件扩展测试实例
本文实例讲述了jQuery插件扩展测试方法。分享给大家供大家参考,具体如下:
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>JQquery扩展插件测试</title>
<scripttype="text/javascript"src="jquery-1.7.2.min.js"></script>
<styletype="text/css">
.a{
background:#ccc;
}
.b{
background:#555;
}
</style>
<scripttype="text/javascript">
//1.对象级别的扩展jQuery.fn是jQuery.prototype的别名
//注意:在对象方法内,关键字this引用的是一个jQuery对象,但在每次调用的.each()方法中,this引用的是一个dom元素(所以each内部要用jQuery包装this,而在return后面,直接调用jQuery对方法.each())
(function($){
$.fn.toggleClass=function(options){
returnthis.each(function(){
varopts=$.extend({},$.fn.toggleClass.defaults,options);
var$element=$(this);
if($element.hasClass(opts.class1)){
$element.removeClass(opts.class1).addClass(opts.class2);
}elseif($element.hasClass(opts.class2)){
$element.removeClass(opts.class2).addClass(opts.class1);
}
})
}
$.fn.toggleClass.defaults={
class1:"",
class2:""
}
$.fn.setBorder=function(){
returnthis.each(function(){
$(this).css("border","1pxsolidred");
})
}
})(jQuery);
$(function(){
varopts={
class1:"a",
class2:"b"
}
$("h1").click(function(){
$("h1").toggleClass(opts).setBorder();
})
})
//2.类级别的扩展
//1).直接添加:为jQuery对象添加全局函数
jQuery.sum=function(array){
vartotal=0;
jQuery.each(array,function(idx,num){
total+=num;
})
returntotal;
}
//2).用extend添加:
jQuery.extend({
fn1:function(){},
fn2:function(){}
})
</script>
</head>
<body>
<h1id="h1"class="a">JQuery扩展测试</h1>
</body>
</html>
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。