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 相关文章推荐
jquery Firefox3.5中操作select的问题
Jul 10 Javascript
JavaScript实现页面实时显示当前时间的简单实例
Jul 20 Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
前端js文件合并的三种方式推荐
May 19 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
Vue2 轮播图slide组件实例代码
May 31 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
使用 UniApp 实现小程序的微信登录功能
Jun 09 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
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
php array的学习笔记
2012/05/16 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
在MAC上搭建python数据分析开发环境
2016/01/26 Python
深入理解Python装饰器
2016/07/27 Python
python简单实现操作Mysql数据库
2018/01/29 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
浅谈Python type的使用
2019/11/19 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
高三自我鉴定范文
2013/10/19 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL