jquery实现滑动图片自己测试的例子


Posted in Javascript onNovember 05, 2013

最近正在回顾之前的一些基础知识,用jquery写了一个图片滑动的插件,虽然还是有些问题存在,用法很简单,只要在对目标元素绑定slideW()函数即可,该函数最多支持两个输入,分别是图片变化之后的宽度,以及动画的速度,如果不输入,则采用默认的宽度以及默认的速度。

下面是我自己测试的例子:

//html代码 
<div class = "content"> 
<ul class = "list"> 
<li class = "liimg"><span class = "imgli img1"></span></li> 
<li class = "liimg"><span class = "imgli img2"></span></li> 
<li class = "liimg"><span class = "imgli img3"></span></li> 
<li class = "liimg"><span class = "imgli img4"></span></li> 
</ul> 
</div>

css代码
//css代码 
*{margin:0px;padding:0px;list-style-type:none;} 
body{text-align:center;} 
.content{width:590px;margin:0 auto;text-align:left;} 
.list{width:565px;margin:0px 9px;border:1px solid #eee;padding:5px;display:inline-block;overflow:hidden;} 
.liimg{padding:4px;border:1px solid #aaa;border-radius:2px;display:inline-block;*display:inline;*margin:0px 3px;background:#FFF;width:auto;} 
.imgli{margin:2px 0px;width:125px;height:300px;display:inline-block;} 
.img1{background:url(images/img1.jpg) no-repeat 50% 50%;} 
.img2{background:url(images/img2.jpg) no-repeat 50% 50%;} 
.img3{background:url(images/img3.jpg) no-repeat 50% 50%;} 
.img4{background:url(images/img4.jpg) no-repeat 50% 50%;}

js代码
//js代码 
//jquery实现图片滑动效果 
var zyljq = $.noConflict(); 
zyljq.fn.extend({ 
slideW:function(wid,speed){ 
//wid要设置的宽度,可以设置变得最小时的宽度或者变得最大时的宽度 
//如果不设置,则会根据绑定元素的宽度,计算设置默认宽度。 
//speed要设置的动画运行速度,可以是normal,slow,fast,也可以是毫秒数。 
//如果不设置,则默认速度是normal 
that = this; //绑定该事件的所有元素 
var eleNum = zyljq(this).size(); //获取图片的数量 
var curwidth = zyljq(this).width();//获取图片的原始宽度 
if(!wid){ 
wid = Math.round(curwidth*4/5); 
//如果没有设置动画的终止条件,则计算出默认的情况 
} 
if(zyljq.trim(speed) == ""){ 
//如果没有设置速度,则取默认速度 
speed = "normal"; 
} 
if(!isNaN(speed)){ 
//如果设置了负值,则变化 
speed = speed < 0?-speed:speed; 
} 
//计算照片的最大和最小宽度 
if(wid > curwidth){ 
widMin = Math.floor((eleNum*curwidth - wid)/(eleNum-1))+"px"; 
widMax = ((curwidth*eleNum) - widMin*(eleNum-1))+"px"; 
}else{ 
widMax = Math.floor((eleNum*curwidth - wid*(eleNum-1)))+"px"; 
widMin = wid+"px"; 
} 
//console.log("widMax="+widMax+";widMin="+widMin); 
//绑定hover事件 
zyljq(this).hover(function(){ 
zyljq(that).stop(); 
zyljq(this).animate({width:widMax},speed); 
zyljq(that).not(this).animate({width:widMin},speed); 
},function(){ 
zyljq(that).stop(); 
zyljq(that).animate({width:curwidth},speed); 
}); 
} 
});

下面是视图:
原始效果:
jquery实现滑动图片自己测试的例子 
鼠标悬停在第二个元素上之后的效果:
jquery实现滑动图片自己测试的例子 
在这个过程中,也回顾了一些常见的问题,比如:ie低版本下,margin:0 auto;不居中的问题,display:inline-block;不支持的问题。也许还有很多的问题没有注意到,如果您发现了什么问题,欢迎您的指导。大家可以共同进步。
Javascript 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(5)
Dec 23 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
Javascript中的getUTCHours()方法使用详解
Jun 10 Javascript
json定义及jquery操作json的方法
Oct 03 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
angularjs select 赋值 ng-options配置方法
Feb 28 Javascript
动态加载、移除js/css文件的示例代码
Mar 20 Javascript
Javascript操作select控件代码实例
Feb 14 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
JavaScript find()方法及返回数据实例
Apr 30 Javascript
36个正则表达式(开发效率提高80%)
Nov 17 Javascript
用js实现in_array的方法
Nov 05 #Javascript
jquery遍历数组与筛选数组的方法
Nov 05 #Javascript
javascript alert乱码的解决方法
Nov 05 #Javascript
jquery三个关闭弹出层的小示例
Nov 05 #Javascript
jquery ajax post提交数据乱码
Nov 05 #Javascript
jquery ajax属性async(同步异步)示例
Nov 05 #Javascript
jQuery Ajax异步处理Json数据详解
Nov 05 #Javascript
You might like
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
Laravel中使用Queue的最基本操作教程
2017/12/27 PHP
详解json在php中的应用
2018/09/30 PHP
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
Python打印输出数组中全部元素
2018/03/13 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
医学生自我鉴定范文
2014/03/26 职场文书
防灾减灾标语
2014/10/07 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
JS函数式编程实现XDM一
2022/06/16 Javascript