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 相关文章推荐
JS随即打乱数组实现代码
Dec 03 Javascript
如何让页面加载完成后执行js
Jun 26 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
js如何准确获取当前页面url网址信息
Sep 13 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
简单实现js选项卡切换效果
Feb 09 Javascript
vue引入js数字小键盘的实现代码
May 14 Javascript
Vue路由切换时的左滑和右滑效果示例
May 29 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 Javascript
Layui 动态禁止select下拉的例子
Sep 03 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常用函数汇总
2014/12/17 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
javascript表单正则应用
2017/02/04 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
微信小程序自定义轮播图
2018/11/04 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python json模块使用实例
2015/04/11 Python
python计算日期之间的放假日期
2018/06/05 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
解除劳动合同协议书
2014/04/14 职场文书
大学生村官演讲稿
2014/04/25 职场文书
综治工作心得体会
2014/09/11 职场文书
学年个人总结范文
2015/03/05 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
如何利用python创作字符画
2022/06/25 Python