http://taskcn.blog. 163.com/
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载基于jQuery淡入淡出可自动切换的幻灯插件,原型是前几天写的一个幻灯效果,因为一个小bug卡了两天,然后清空之前写的代码,重新整理思路写出来的.
思维是个很诡异的东西,一旦陷入某个死角,很难逃出.惟有冷却一些时间,完全抛开旧的思维,才能找到新的出路.
其实就是一个幻灯效果,考虑到使用方便,就封装成一个插件了.
插件特点
1.参数高度自定义;
2.可重复调用且与不影响;
3.插件文件小,压缩后仅1.04k,开发版3.29k.
演示及下载
使用方法
1. 引入jQuery库文件及jQuery. iFadeSlide.pack. js插件文件(若页面有其他js文件,可与之合并以减小http请求) ,引入位置自定义;
复制代码代码如下:scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min. js"/scriptscript src="js/jquery. iFadeSldie.pack. js" /script
样式文件无须引入,若使用DEMO中的结构,可直接将样式合并于项目页面中.建议样式自定义.
2.在页面中调用插件并传入切换元素的参数,若为空或未传入的参数,均按插件中的默认参数执行.例如如下代码是DEMO演示中的三组幻灯切换调用:复制代码代码如下:
$(function() {
//SAMPLE-A调用---未传入任何参数,调用默认参数
$('div#slide' ) . iFadeSlide() ;
//SAMPLE-B调用---传入新的参数,将覆盖原有参数,未传入的使用默认值$('div#slide_b' ) . iFadeSlide( {field: $('div#slide_b a' ) ,icocon:$('div. ico_b' ) ,hoverCls: 'high_b' ,curIndex: 2, //索引值0起始,故此处设置为第3项高亮interval: 2000
} ) ;
//SAMPLE-C调用---传入新的参数,将覆盖原有参数,未传入的使用默认值http://taskcn.blog. 163.com/
http://taskcn.blog. 163.com/
$('div#slide_c' ) . iFadeSlide( {field: $('div#slide_c img' ) ,icocon: $('div. ico_c' ) ,outTime: 100,inTime: 200
} ) ;
} ) ;
注意,调用插件部分须置入插件文件引用后面.
核心代码
复制代码代码如下:
; (function($) {
$.fn.extend( {iFadeSlide: function(options) {
//插件参数初始化var iset={field:$('div#slide img' ) , //切换元素集合icocon:$('div. ico' ) , //索引容器hoverCls: 'high' , //切换至当前索引高亮显示样式curIndex:0, //默认高亮显示的索引值,索引值为0起始outTime:200, //元素淡出时间(ms)inTime:300, //元素淡入时间(ms)interval:3000 //元素切换间隔时间(ms)
} ;options=options | | {} ;
$.extend(iset,options) ; //合并参数对象.若options传入有新值则覆盖iset中对应值,否则使用默认值.
//根据切换元素量生成对应的索引值列表并插入到切换区域中var ulcon = " uliset.field.each(function(i) {ulcon = ulcon + ' li ' + (i + 1) + ' /li
} ) ;ulcon += ' /uliset. icocon.append(ulcon) ;var ico = iset. icocon.find(' li' ) ; //索引列表集合var size = iset.field. size() ; //切换元素量var index = 0; //初始索引值var clearFun=null;
//淡出淡入函数var fadeFun = function(obj) {index = ico. index(obj) ; //取当前索引值
//淡出当前可见元素,并通过索引值找到要淡入的元素iset.field.filter(' :visible' ) .fadeOut(iset.outTime, function() {iset.field.eq(index) .fadeIn(iset. inTime) ;http://taskcn.blog. 163.com/
http://taskcn.blog. 163.com/
} ) ;
//为当前索引添加高亮样式并移除同级元素中的高亮样式
$(obj) .addClass(iset.hoverCls) . siblings() .removeClass(iset.hoverCls) ;} ;
//切换函数var changeFun = function() {index++; //累积索引值if (index == size) {index = 0} ; //当索引值等于切换元素量时,初始化为0ico.eq(index) . trigger('mouseleave' ) ; //为当前的索引模拟鼠标划出元素区事件
} ;
//自动切换函数var scrollFun = function() {clearFun = setInterval (function() {changeFun()
} , iset. interval) ;
} ;
//停止自动切换函数var stopFun = function() {clearInterval (clearFun) ;
} ;scrollFun() ; //初始自动切换
//索引区域鼠标划入停止自动切换并切换元素至当前索引,鼠标划出初始化索引至当前值(否则鼠标划出切换会乱)ico.hover(function() {stopFun() ;fadeFun(this) ;
} , function() {fadeFun(this) ;
} ) .eq(iset.curIndex) .mouseleave() ; //初始高亮显示的索引值
//切换区域鼠标划入停止自动切换,划出继续自动iset.field.hover(function() {stopFun() ;
} , function() {scrollFun() ;
} ) ;
}
} ) ;
} ) (jQuery) ;http://taskcn.blog. 163.com/
数脉科技怎么样?数脉科技品牌创办于2019,由一家从2012年开始从事idc行业的商家创办,目前主营产品是香港服务器,线路有阿里云线路和自营CN2线路,均为中国大陆直连带宽,适合建站及运行各种负载较高的项目,同时支持人民币、台币、美元等结算,提供支付宝、微信、PayPal付款方式。本次数脉科技给发来了新的7月促销活动,CN2+BGP线路的香港服务器,带宽10m起,配置E3-16G-30M-3IP,...
ucloud香港服务器优惠降价活动开始了!此前,ucloud官方全球云大促活动的香港云服务器一度上涨至2核4G配置752元/年,2031元/3年。让很多想购买ucloud香港云服务器的新用户望而却步!不过,目前,ucloud官方下调了香港服务器价格,此前2核4G香港云服务器752元/年,现在降至358元/年,968元/3年,价格降了快一半了!UCloud活动路子和阿里云、腾讯云不同,活动一步到位,...
HostNamaste是一家成立于2016年3月的印度IDC商家,目前有美国洛杉矶、达拉斯、杰克逊维尔、法国鲁贝、俄罗斯莫斯科、印度孟买、加拿大魁北克机房。其中洛杉矶是Quadranet也就是我们常说的QN机房(也有CC机房,可发工单让客服改机房);达拉斯是ColoCrossing也就是我们常说的CC机房;杰克逊维尔和法国鲁贝是OVH的高防机房。采用主流的OpenVZ和KVM架构,支持ipv6,免...