jQuery插件制作之參數(shù)用法實(shí)例分析
本文實(shí)例講述了jQuery插件制作之參數(shù)用法。分享給大家供大家參考。具體分析如下:
1、無參數(shù)實(shí)現(xiàn)文字陰影效果
jQuery.fn.shadow =function(){ return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i < 5;i++){ $originalElement.clone() .css({ position :"absolute", left :$originalElement.offset().left + i, top :$originalElement.offset().top + i, margin : 0, zIndex : -1, opacity : 0.1 }) .appendTo("body"); } }) }
調(diào)用的例子:
2、簡單的參數(shù)
jQuery.fn.shadow =function(slices,opacity,zIndex){ return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i < slices;i++){ $originalElement.clone() .css({ position :"absolute", left :$originalElement.offset().left + i, top :$originalElement.offset().top + i, margin : 0, zIndex : zIndex, opacity : opacity }) .appendTo("body"); } }) }
調(diào)用的例子:
3、參數(shù)的映射
jQuery.fn.shadow =function(opts){ return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i < opts.slices;i++){ $originalElement.clone() .css({ position :"absolute", left :$originalElement.offset().left + i, top : $originalElement.offset().top+ i, margin : 0, zIndex :opts.zIndex, opacity : opts.opacity }) .appendTo("body"); } }) }
調(diào)用的例子:
slices : 5,
opacity : 0.25,
zIndex : -1
});
4、默認(rèn)的參數(shù)值(這個(gè)是最重要的)
jQuery.fn.shadow =function(options){ var defaults = { slices : 5, opacity : 0.1, zIndex : -1 }; //options中如果存在defaults中的值,則覆蓋defaults中的值 var opts = jQuery.extend(defaults,options); return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i < opts.slices;i++){ $originalElement.clone() .css({ position :"absolute", left :$originalElement.offset().left + i, top :$originalElement.offset().top + i, margin : 0, zIndex :opts.zIndex, opacity : opts.opacity }) .appendTo("body"); } }) }
調(diào)用的例子:
opacity : 0.05
});
5、回調(diào)函數(shù)
jQuery.fn.shadow =function(options){ var defaults = { slices : 5, opacity : 0.1, zIndex : -1, sliceOffset : function(i){ return {x:i,y:i} } }; //options中如果存在defaults中的值,則覆蓋defaults中的值 var opts = jQuery.extend(defaults,options); return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i < opts.slices;i++){ //調(diào)用回調(diào)函數(shù) var offset = opts.sliceOffset(i); $originalElement.clone() .css({ position :"absolute", left :$originalElement.offset().left + offset.x, top :$originalElement.offset().top + offset.y, margin : 0, zIndex :opts.zIndex, opacity : opts.opacity }) .appendTo("body"); } }) }
調(diào)用的例子:
sliceOffset : function(i){
return {x : -i,y : -2 * i}
}
});
6、可定制的默認(rèn)值
jQuery.fn.shadow =function(options){ //默認(rèn)值被放在投影插件的命名空間里了 var opts =jQuery.extend({},jQuery.fn.shadow.defaults,options); return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i < opts.slices;i++){ //調(diào)用回調(diào)函數(shù) var offset = opts.sliceOffset(i); $originalElement.clone() .css({ position :"absolute", left :$originalElement.offset().left + offset.x, top :$originalElement.offset().top + offset.y, margin : 0, zIndex :opts.zIndex, opacity : opts.opacity }) .appendTo("body"); } }) } jQuery.fn.shadow.defaults= { slices : 5, opacity : 0.1, zIndex : -1, sliceOffset : function(i){ return { x : i, y : i} } }
默認(rèn)值被放在了命名空間里,可以通過$.fn.shadow.default直接引用。而對$.extend()的調(diào)用也必須修改,以適應(yīng)這種變化。由于現(xiàn)在所有對.shadow()的調(diào)用都要重用defaults映射,因此不能讓他$.extend()修改它,因此要將一個(gè)空映射({})作為$.extend()的第一個(gè)參數(shù),讓這個(gè)新對象成為被修改的目標(biāo)。
調(diào)用方法:
$("h1").shadow({
sliceOffset : function(i){
return { x : -i, y : i}
}
});
7、添加選擇符表達(dá)式
/* *添加選擇符表達(dá)式 * * 參數(shù): * element:當(dāng)前的DOM元素,大多數(shù)選擇符都需要這個(gè) * index:Dom元素在結(jié)果集中的索引,這個(gè)參數(shù)對:eq()和:lt()等選擇符比較有用 * matches:包含解析當(dāng)前選擇符的正則表達(dá)式結(jié)果的數(shù)組。通常matches[3]是這個(gè)數(shù)組中 * 唯一有用的項(xiàng);對于:a(b)形式的選擇符而言,matches[3]項(xiàng)中包含著b,即圓括號中的 * 文本。 * set:到目前為止匹配的整個(gè)DOM元素的集合,這個(gè)參數(shù)用的比較少。 * */ jQuery.extend(jQuery.expr[':'],{ 'css' : function(element,index,matches,set){ //修改之后的matches[3]:width < 100 var parts = matches[3].split(""); var value =parseFloat(jQuery(element).css(parts[0])); switch(parts[1]){ case '<' : return value <parseInt(parts[2]); case '<=' : return value <=parseInt(parts[2]); case '=' : case '==' : return value ==parseInt(parts[2]); case '>=' : return value >= parseInt(parts[2]); case '>' : return value >parseInt(parts[2]); } } })
調(diào)用:
<divstyle="width: 500px;">Desrunt mollit anim id estlaborum</div> <divstyle="width: 200px;">2222222</div> <divstyle="width:30px;">33333333333333333333333</div> <divstyle="width: 300px;">4444444444444444</div>
希望本文所述對大家的jQuery程序設(shè)計(jì)有所幫助。
- JQuery插件jcarousellite的參數(shù)中文說明
- Jquery圖形報(bào)表插件 jqplot簡介及參數(shù)詳解
- idTabs基于JQuery的根據(jù)URL參數(shù)選擇Tab插件
- JQuery擴(kuò)展插件Validate 3通過參數(shù)設(shè)置錯(cuò)誤信息
- jQuery獲取地址欄參數(shù)插件(模仿C#)
- jQuery 獲取URL參數(shù)的插件
- jQuery插件制作之全局函數(shù)用法實(shí)例
- jquery插件制作 提示框插件實(shí)現(xiàn)代碼
- jquery插件制作簡單示例說明
- jquery tab插件制作實(shí)現(xiàn)代碼
相關(guān)文章
關(guān)于webuploader插件使用過程遇到的小問題
這篇文章主要為大家詳細(xì)解決了關(guān)于webuploader插件使用過程遇到的小問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11jQuery EasyUI ProgressBar進(jìn)度條組件
這篇文章主要為大家詳細(xì)介紹了jQuery EasyUI ProgressBar進(jìn)度條組件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02在IE 瀏覽器中使用 jquery的fadeIn() 效果 英文字符字體加粗
在IE 瀏覽器中使用 jquery的fadeIn() 效果 英文字符字體加粗的解決方法分享。2011-06-06jQuery實(shí)現(xiàn)的簡單無刷新評論功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡單無刷新評論功能,涉及jQuery事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,代碼中備有較為詳盡的注釋便于理解,需要的朋友可以參考下2017-11-11jQuery EasyUI API 中文文檔 DateTimeBox日期時(shí)間框
jQuery EasyUI API 中文文檔 DateTimeBox日期時(shí)間框,需要的朋友可以參考下。2011-10-10由簡入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)
下面小編就為大家?guī)硪黄珊喨敕睂?shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06