jQuery 一个图片切换的插件


Posted in Javascript onOctober 09, 2011

以下是参数说明:

 参数名称  描述
 delay  图片切换速度,单位毫秒
 maskOpacity  遮罩层透明度,1为不透明,0为全透明
 numOpacity  数字按钮透明度,1为不透明,0为全透明
 maskBgColor  遮罩层背景色
 textColor  标题字体颜色
 numColor  数字按钮字体颜色
 numBgColor  数字按钮背景色
 alterColor  数字按钮选中项字体颜色
 alterBgColor  数字按钮选中项背景颜色
插件代码及调用
- 插件名称:ImageScroll
(function($){ 
$.fn.ImageScroll = function(options) { 
var defaults = { 
delay: 2000, 
maskOpacity: 0.6, 
numOpacity: 0.6, 
maskBgColor: "#000", 
textColor: "#fff", 
numColor: "#fff", 
numBgColor: "#000", 
alterColor: "#fff", 
alterBgColor: "#999" 
}; 
options = $.extend(defaults, options); 
var _this = $(this).css("display", "none"); 
var _links = [], _texts = [], _urls = []; 
var _list = _this.find("a"); 
var _timer; 
var _index = 0; 
_list.each(function(index){ 
var temp = $(this).find("img:eq(0)"); 
_links.push($(this).attr("href")); 
_texts.push(temp.attr("alt")); 
_urls.push(temp.attr("src")); 
}); 
if(_list.length <= 0) { 
return; 
} 
else { 
_this.html(""); 
} 
var _width = _this.width(); 
var _height = _this.height(); 
var _numCount = _list.length; 
var _numColumn = Math.ceil(_numCount / 2); 
var _img = $("<a/>").css({"display":"block", "position":"absolute","top":"0px","left":"0px", "z-index":"2", "width":_width+"px", "height":_height+"px", "background":"url("+_urls[0]+")"}).appendTo(_this); 
var _mask = $("<div/>").attr("style","opacity:"+options.maskOpacity) 
.css({"position":"absolute", "left":"0px", "bottom":"0px", "z-index":"3", "width":_width+"px", "height":"46px", "opacity":options.maskOpacity, "background-color":options.maskBgColor}).appendTo(_this); 
var _num = $("<div/>").attr("style","opacity:"+options.numOpacity) 
.css({"position":"absolute", "right":"0px", "bottom":"0px", "z-index":"5", "width":_numColumn*22, "opacity":options.numOpacity, "height":"44px"}).appendTo(_this); 
var _text = $("<div/>").css({"position":"absolute", "left":"0px", "bottom":"0px", "z-index":"4", "padding-left":"10px", "height":"44px", "line-height":"44px", "color":options.textColor}).html(_texts[0]).appendTo(_this); 
for(var i = 0; i < _numCount; i++) 
{ 
$("<a/>").html(i+1) 
.css({"float":"left", "width":"20px", "height":"20px", "text-align":"center", "background-color":options.numBgColor, "margin":"0px 2px 2px 0px", "cursor":"pointer", "line-height":"20px", "color":options.numColor}) 
.mouseover(function() { 
if(_timer) { 
clearInterval(_timer); 
} 
}).mouseout(function() { 
_timer = setInterval(alter, options.delay); 
}).click(function(){ 
numClick($(this)); 
}).appendTo(_num); 
} 
var _tempList = _num.find("a"); 
function alter() { 
if(_index > _numCount-1) { 
_index = 0; 
} 
_tempList.eq(_index).click(); 
} 
function numClick(obj) { 
var i = _tempList.index(obj); 
_tempList.css({"background-color":options.numBgColor, "color":options.numColor}); 
obj.css({"background-color":options.alterBgColor, "color":options.alterColor}); 
_img.attr({"href":_links[i], "target":"_blank"}) 
.css({"opacity":"0", "background":"url("+_urls[i]+")"}) 
.animate({"opacity":"1"}, 500); 
_text.html(_texts[i]); 
_index = i + 1; 
} 
setTimeout(alter, 10); 
_timer = setInterval(alter, options.delay); 
_this.css("display", "block"); 
}; 
})(jQuery);

- 调用代码
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script> 
<script src="js/jquery.ImageScroll.js" type="text/javascript"></script> 
<style type="text/css"> 
<!-- 
body { 
font-family: Verdana, Arial, Helvetica, sans-serif; 
font-size: 12px; 
} 
#scroll { position:relative; width:450px; height:300px; } 
--> 
</style> 
<div id="scroll"> 
<a href="http://www.baidu.com"><img src="images/1.jpg" alt="漂亮的风景图片一" /></a> 
<a href="https://3water.com"><img src="images/2.jpg" alt="漂亮的风景图片二" /></a> 
<a href="http://www.codeplex.com"><img src="images/3.jpg" alt="漂亮的风景图片三" /></a> 
<a href="http://www.codeproject.com"><img src="images/4.jpg" alt="漂亮的风景图片四" /></a> 
<a href="http://sc.3water.com"><img src="images/5.jpg" alt="漂亮的风景图片五" /></a> 
<a href="http://s.3water.com"><img src="images/3.jpg" alt="漂亮的风景图片六" /></a> 
</div> 
<script> 
$("#scroll").ImageScroll(); 
</script>

- 运行结果

jQuery 一个图片切换的插件
- 带参数调用

<script> 
$("#scroll").ImageScroll({delay:500, maskBgColor:"#ff0000"}); 
</script>

- 运行结果
jQuery 一个图片切换的插件
小结

只是个小插件,可定制性可能不是很好,大家随便看看和修改好了,貌似IE8好像还有个小bug,一会修正了再上传,大家有什么bug发现,请回复告诉我,方便我及时修正,有代码上的优化意见,也请告诉我,帮助我这个新人学习,=.=

Javascript 相关文章推荐
将HTML自动转为JS代码
Jun 26 Javascript
破解Session cookie的方法
Jul 28 Javascript
javascript attachEvent和addEventListener使用方法
Mar 19 Javascript
在多个页面使用同一个HTML片段《续》
Mar 04 Javascript
jquery代码实现多选、不同分享功能
Jul 31 Javascript
javascript弹出拖动窗口
Aug 11 Javascript
Javascript实现苹果悬浮虚拟按钮
Apr 10 Javascript
js获取客户端操作系统类型的方法【测试可用】
May 27 Javascript
简单的js表格操作
Sep 24 Javascript
JS碰撞运动实现方法详解
Dec 15 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
JS中自定义事件的使用与触发操作实例分析
Nov 01 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
Oct 09 #Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
Oct 09 #Javascript
jquery利用event.which方法获取键盘输入值的代码
Oct 09 #Javascript
javascript之bind使用介绍
Oct 09 #Javascript
javascript之querySelector和querySelectorAll使用说明
Oct 09 #Javascript
使用jQuery操作Cookies的实现代码
Oct 09 #Javascript
jQuery实现切换页面布局使用介绍
Oct 09 #Javascript
You might like
php 获得汉字拼音首字母的函数
2009/08/01 PHP
php 生成文字png图片的代码
2011/04/17 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
Yii中表单用法实例详解
2016/01/05 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
python小技巧之批量抓取美女图片
2014/06/06 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
animation和transition的区别
2020/10/12 HTML / CSS
Linux文件操作命令都有哪些
2016/07/23 面试题
2014年上半年工作自我评价
2014/01/18 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
企业后勤岗位职责
2014/02/28 职场文书
赔偿协议书范本
2014/04/15 职场文书
入党介绍人评语
2014/05/06 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
锦旗赠语
2015/06/23 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
Python基础学习之奇异的GUI对话框
2021/05/27 Python