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 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
document节点对象的获取方式示例介绍
Dec 24 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
JS中对象与字符串的互相转换详解
May 20 Javascript
js仿百度切换皮肤功能(html+css)
Jul 10 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
Bootstrap栅格系统学习笔记
Nov 25 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
Mar 09 Javascript
jquery append与appendTo方法比较
May 24 jQuery
微信小程序学习笔记之函数定义、页面渲染图文详解
Mar 28 Javascript
js校验开始时间和结束时间
May 26 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
来自phpguru得Php Cache类源码
2010/04/15 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
关于Js中new操作符的作用详解
2021/02/21 Javascript
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
Django多数据库的实现过程详解
2019/08/01 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
QML用PathView实现轮播图
2020/06/03 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
管理科学大学生求职信
2013/11/13 职场文书
财务分析个人的自荐书范文
2013/11/24 职场文书
优秀教师事迹简介
2014/02/02 职场文书
趣味比赛活动方案
2014/02/15 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
安全教育演讲稿
2014/05/09 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
汽车转让协议书
2015/01/29 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
Pandas 稀疏数据结构的实现
2021/07/25 Python