本文实例讲述了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 });
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 });
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程序设计有所帮助。
本文向大家介绍jQuery插件制作之全局函数用法实例,包括了jQuery插件制作之全局函数用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery插件制作之全局函数用法。分享给大家供大家参考。具体分析如下: 1、添加新的全局函数 所谓的全局函数,实际上就是jQuery对象的方法,但从实践的角度上看,他们是位于jQuery命名空间内部的函数 (1)添加一个函数,只需要将新函数指定
本文向大家介绍jquery插件bxslider用法实例分析,包括了jquery插件bxslider用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery插件bxslider用法。分享给大家供大家参考。具体用法如下: 首先调用对应js文件: jQuery代码部分: HTML结构如下: CSS定义左右按钮样式: 参数说明: bxSlider 详细配置参数: bxSlider有
本文向大家介绍jQuery中DOM树操作之使用反向插入方法实例分析,包括了jQuery中DOM树操作之使用反向插入方法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery中DOM树操作之使用反向插入方法。分享给大家供大家参考。具体分析如下: 使用反向插入方法 这里我们先把创建的内容插人到元素前面,然后再把同一个元素插人到文档 中的另一个位置。通常,当在jQuery中操作元素
本文向大家介绍Jquery日期选择datepicker插件用法实例分析,包括了Jquery日期选择datepicker插件用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Jquery日期选择datepicker插件用法。分享给大家供大家参考。具体如下: 1、首先将Jquery中的datepicker插件中的相关属性值改成中文的: 2、html页面中有两个日期输入框,分别为起始日
本文向大家介绍jQuery Raty星级评分插件使用方法实例分析,包括了jQuery Raty星级评分插件使用方法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery Raty星级评分插件使用方法。分享给大家供大家参考,具体如下: 使用jQuery Raty,可以很方便的在页面上嵌入一个评分组件,如下所示: 使用方法很简单,首先从https://github.com/wbo
本文向大家介绍jQuery网页选项卡插件rTabs用法实例分析,包括了jQuery网页选项卡插件rTabs用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery网页选项卡插件rTabs用法。分享给大家供大家参考。具体如下: 这里介绍jQuery网页选项卡插件rTabs用法,一共演示了4种TAB选项卡样式,第一种:默认样式:自动运行、无动画效果、Hover事件;第二种:自动