基于jQuery的淡入淡出可自动切换的幻灯插件

 更新时间:2010年08月24日 01:42:46   作者:  
基于jQuery淡入淡出可自动切换的幻灯插件,原型是前几天写的一个幻灯效果,因为一个小bug卡了两天,然后清空之前写的代码,重新整理思路写出来的. 思维是个很诡异的东西,一旦陷入某个死角,很难逃出. 惟有冷却一些时间,完全抛开旧的思维,才能找到新的出路.
其实就是一个幻灯效果,考虑到使用方便,就封装成一个插件了.
插件特点
1. 参数高度自定义;
2. 可重复调用且与不影响;
3. 插件文件小,压缩后仅1.04k,开发版3.29k.
演示及下载 

使用方法
1. 引入jQuery库文件及jQuery.iFadeSlide.pack.js插件文件(若页面有其他js文件,可与之合并以减小http请求),引入位置自定义;
复制代码 代码如下:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script 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调用---传入新的参数,将覆盖原有参数,未传入的使用默认值
$('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 = "<ul>";
iset.field.each(function(i){
ulcon = ulcon + '<li>' + (i + 1) + '</li>';
});
ulcon += '</ul>';
iset.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);
});
//为当前索引添加高亮样式并移除同级元素中的高亮样式
$(obj).addClass(iset.hoverCls).siblings().removeClass(iset.hoverCls);
};
//切换函数
var changeFun = function(){
index++; //累积索引值
if (index == size){index = 0}; //当索引值等于切换元素量时,初始化为0
ico.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://xiazai.jb51.net/201008/yuanma/jQuery_iFadeSlide.rar

相关文章

  • jQuery实现图片高亮显示

    jQuery实现图片高亮显示

    这篇文章主要为大家详细介绍了jQuery实现图片高亮显示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • jquery Easyui快速开发总结

    jquery Easyui快速开发总结

    easyui是一种基于jQuery的用户界面插件集合,easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能,本篇文章给大家整理有关jquery Easyui快速开发的技巧,需要的朋友可以参考下
    2015-08-08
  • jQuery使用手册之一

    jQuery使用手册之一

    jQuery使用手册之一...
    2007-03-03
  • jQuery实现Flash效果上下翻动的中英文导航菜单代码

    jQuery实现Flash效果上下翻动的中英文导航菜单代码

    这篇文章主要介绍了jQuery实现Flash效果上下翻动的中英文导航菜单代码,实例分析了jQuery基于鼠标hover事件控制页面元素动画效果的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • jQuery Jsonp跨域模拟搜索引擎

    jQuery Jsonp跨域模拟搜索引擎

    这篇文章主要介绍了jQuery Jsonp跨域模拟搜索引擎的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-06-06
  • jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】

    jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】

    这篇文章主要介绍了jQuery插件FusionCharts实现的3D帕累托图效果,结合实例形式分析了jQuery使用FusionCharts载入xml数据绘制3D帕累托图的相关实现技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2017-03-03
  • jQuery学习笔记之入门

    jQuery学习笔记之入门

    本文主要对jQuery的基础知识进行介绍,非常适合刚开始接触JQuery学习的朋友们,下面就跟小编一起来看下吧
    2016-12-12
  • jQuery+CSS实现的table表格行列转置功能示例

    jQuery+CSS实现的table表格行列转置功能示例

    这篇文章主要介绍了jQuery+CSS实现的table表格行列转置功能,涉及jQuery事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-01-01
  • jQuery解析json格式数据示例

    jQuery解析json格式数据示例

    这篇文章主要介绍了jQuery解析json格式数据,涉及jQuery针对json格式数据元素遍历相关操作技巧,需要的朋友可以参考下
    2018-09-09
  • 仿当当网淘宝网等主流电子商务网站商品分类导航菜单

    仿当当网淘宝网等主流电子商务网站商品分类导航菜单

    本文实现了一个分类导航的菜单,和大多数流行的电子商务网站类似,详细的实现可以直接查看源代码.所有的代码都在一个sidebar.html文件中
    2013-09-09

最新评论