亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery插件制作之參數用法實例分析

2019-11-20 12:22:46
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery插件制作之參數用法。分享給大家供大家參考。具體分析如下:

1、無參數實現文字陰影效果

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");   }  }) }

調用的例子:

復制代碼 代碼如下:
$("h1").shadow();

2、簡單的參數

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");   }  }) }

調用的例子:

復制代碼 代碼如下:
$("h1").shadow(10,0.1,-1);

3、參數的映射

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");   }  }) }

調用的例子:

復制代碼 代碼如下:
$("h1").shadow({
    slices : 5,
    opacity : 0.25,
    zIndex : -1
});

 
4、默認的參數值(這個是最重要的)

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");   }  }) }

調用的例子:

復制代碼 代碼如下:
$("h1").shadow({
    opacity : 0.05
});

 
5、回調函數

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++){    //調用回調函數    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");   }  }) }

調用的例子:

復制代碼 代碼如下:
$("h1").shadow({
    sliceOffset : function(i){
       return {x : -i,y : -2 * i}
    }
});

6、可定制的默認值

jQuery.fn.shadow =function(options){  //默認值被放在投影插件的命名空間里了  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++){    //調用回調函數    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}  } }

默認值被放在了命名空間里,可以通過$.fn.shadow.default直接引用。而對$.extend()的調用也必須修改,以適應這種變化。由于現在所有對.shadow()的調用都要重用defaults映射,因此不能讓他$.extend()修改它,因此要將一個空映射({})作為$.extend()的第一個參數,讓這個新對象成為被修改的目標。

調用方法:

復制代碼 代碼如下:
jQuery.fn.shadow.defaults.slices= 10;
$("h1").shadow({
    sliceOffset : function(i){
       return { x : -i, y : i}
    }
});

7、添加選擇符表達式

/*  *添加選擇符表達式  *  * 參數:  *  element:當前的DOM元素,大多數選擇符都需要這個  *  index:Dom元素在結果集中的索引,這個參數對:eq()和:lt()等選擇符比較有用  *  matches:包含解析當前選擇符的正則表達式結果的數組。通常matches[3]是這個數組中  *    唯一有用的項;對于:a(b)形式的選擇符而言,matches[3]項中包含著b,即圓括號中的  *    文本。  *  set:到目前為止匹配的整個DOM元素的集合,這個參數用的比較少。  *  */ 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]);    }  } })

調用:

<divstyle="width: 500px;">Desrunt mollit anim id estlaborum</div><divstyle="width: 200px;">2222222</div><divstyle="width:30px;">33333333333333333333333</div><divstyle="width: 300px;">4444444444444444</div>

復制代碼 代碼如下:
$("div:css(width< 100)").addClass("heighlight");

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲电影免费观看| 国产亚洲成精品久久| 96pao国产成视频永久免费| 亚洲人午夜色婷婷| 国产精品色视频| 成人有码在线视频| 在线观看视频亚洲| 欧美夫妻性视频| 日韩一区二区久久久| 日韩毛片在线看| 亚洲午夜未满十八勿入免费观看全集| 国产精品视频色| 久久99精品久久久久久琪琪| 中文字幕亚洲色图| 国产亚洲欧美日韩美女| 国产精品人成电影在线观看| 欧美在线激情网| 国产女同一区二区| 成人欧美在线观看| 日本精品视频在线播放| 日韩在线免费高清视频| 亚洲日本中文字幕免费在线不卡| 爽爽爽爽爽爽爽成人免费观看| 久久亚洲欧美日韩精品专区| 97国产suv精品一区二区62| 日本亚洲欧美三级| 97精品一区二区三区| 久久人人爽人人爽人人片av高请| 日本中文字幕久久看| 日韩成人av网址| 日韩av在线免费播放| 欧美激情aaaa| 久久久久日韩精品久久久男男| 国产一区二区激情| xvideos成人免费中文版| 精品国内亚洲在观看18黄| xxxxxxxxx欧美| 国产成人小视频在线观看| 国产亚洲欧美日韩一区二区| 91在线观看免费高清完整版在线观看| 欧美激情视频免费观看| 国产999精品久久久影片官网| 国产99久久精品一区二区 夜夜躁日日躁| 日韩欧美成人网| 97精品国产97久久久久久| 成人做爽爽免费视频| 国内精品久久久久伊人av| 国产午夜精品理论片a级探花| 国产综合在线观看视频| 国产精品69精品一区二区三区| 九九综合九九综合| 国产mv久久久| 国产日韩欧美夫妻视频在线观看| 久久久精品美女| 成人精品aaaa网站| 亚洲精品久久久久久久久久久久| 亚洲性生活视频| 国产91在线高潮白浆在线观看| 欧美国产激情18| 亚洲天堂第一页| 永久免费看mv网站入口亚洲| 国产免费一区二区三区在线观看| 欧美丰满少妇xxxxx做受| 亚洲成人亚洲激情| 亚洲欧美国产制服动漫| 欧美午夜久久久| 午夜精品一区二区三区在线| 欧美电影院免费观看| 精品久久久香蕉免费精品视频| 久久视频在线免费观看| 国产日韩精品视频| 国产在线观看一区二区三区| 国产女精品视频网站免费| 大桥未久av一区二区三区| www.久久撸.com| 欧美午夜精品久久久久久人妖| 国产99久久精品一区二区 夜夜躁日日躁| …久久精品99久久香蕉国产| 欧美综合第一页| 中文字幕欧美专区| 亚洲成人中文字幕| 欧美成人免费网| 91精品国产91久久久久久| 日韩av男人的天堂| 欧美日韩国产va另类| 国内外成人免费激情在线视频| 日韩电影免费观看中文字幕| 亚洲国产精品yw在线观看| 欧美日韩中国免费专区在线看| 亚洲a级在线观看| 成人a级免费视频| 国产视频精品久久久| 欧美激情欧美激情在线五月| 色噜噜狠狠狠综合曰曰曰88av| 国产视频精品一区二区三区| 国产亚洲在线播放| 亚洲视频免费一区| 久久视频在线播放| 国产视频精品自拍| 亚洲男女性事视频| 成人国产亚洲精品a区天堂华泰| 美女扒开尿口让男人操亚洲视频网站| 亚洲跨种族黑人xxx| 欧美午夜精品久久久久久人妖| 亚洲国产91精品在线观看| 国产在线观看一区二区三区| 亚洲视频在线观看视频| 欧美高跟鞋交xxxxhd| 91精品国产综合久久久久久蜜臀| 欧美成人精品一区二区三区| 国产网站欧美日韩免费精品在线观看| 成人观看高清在线观看免费| 91视频免费在线| 日韩高清av一区二区三区| 欧美激情国产精品| 亚洲欧美另类在线观看| 色婷婷综合久久久久中文字幕1| 欧美极品少妇xxxxⅹ免费视频| 8x拔播拔播x8国产精品| 国产97人人超碰caoprom| 性欧美亚洲xxxx乳在线观看| 午夜精品一区二区三区在线视| 日韩在线免费视频| 日韩在线激情视频| 国产精品入口免费视频一| 日韩成人av网| 亚洲图片制服诱惑| 夜夜躁日日躁狠狠久久88av| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美精品免费播放| 亚洲色无码播放| 亚洲性线免费观看视频成熟| 欧美一级在线播放| 国产亚洲精品久久久久动| 日本伊人精品一区二区三区介绍| 久久综合亚洲社区| 欧美精品成人91久久久久久久| 国产做受69高潮| 亚洲美女激情视频| 亚洲欧美一区二区三区久久| 久久久久久有精品国产| 欧美巨乳美女视频| 久久av红桃一区二区小说| 91精品久久久久久久久不口人| 国产精品高潮呻吟久久av黑人| 日本精品久久久久久久| 成人av资源在线播放| 亚洲精品456在线播放狼人| 国产精品99久久久久久久久久久久| 一区三区二区视频| 懂色aⅴ精品一区二区三区蜜月| 亚洲国产精品小视频| 久久久精品久久久久| 亚洲国产欧美日韩精品| 中文字幕国产亚洲2019| 亚洲一区二区三区777| 红桃视频成人在线观看| 亚洲缚视频在线观看| 久久伊人免费视频| 国产精品男女猛烈高潮激情| 亚洲国产精品久久久久秋霞蜜臀| 国产精品久久久久久亚洲影视| 久久精品一偷一偷国产| 国产亚洲在线播放|