基于jQuery的图片左右无缝滚动插件


Posted in Javascript onMay 23, 2012

在线演示:http://demo.3water.com/js/2012/myslideLeftRight/
打包下载:https://3water.com/jiaoben/44973.html
核心代码:

(function($){ 
$.fn.extend({ 
"slidelf":function(value){ 
value = $.extend({ 
"prev":"", 
"next":"", 
"speed":"" 
},value) 
var dom_this = $(this).get(0); //将jquery对象转换成DOM对象;以便其它函数中调用; 
var marginl = parseInt($("ul li:first",this).css("margin-left")); //每个图片margin的数值 
var movew = $("ul li:first",this).outerWidth()+marginl; //需要滑动的数值 
//左边的动画 
function leftani(){ 
$("ul li:first",dom_this).animate({"margin-left":-movew},value.speed,function(){ 
$(this).css("margin-left",marginl).appendTo($("ul",dom_this)); 
}); 
} 
//右边的动画 
function rightani(){ 
$("ul li:last",dom_this).prependTo($("ul",dom_this)); 
$("ul li:first",dom_this).css("margin-left",-movew).animate({"margin-left":marginl},value.speed); 
} 
//点击左边 
$("."+value.prev).click(function(){ 
if(!$("ul li:first",dom_this).is(":animated")){ 
leftani(); 
} 
}); 
//点击左边 
$("."+value.next).click(function(){ 
if(!$("ul li:first",dom_this).is(":animated")){ 
rightani(); 
} 
}) 
} 
}); 
})(jQuery)

思路:

点击左边--

1.将第一个LI向左滑动,滑动的数值就是LI的宽度。(这里是用负margin-left来实现移动。)

2.滑动完成后,将这个LI插入到整个LI的最后一个(实现无缝滚动)

点击右边--

1.将最后一个LI插入到所有LI的第一个,并将其定位到可见区域之外,(这里用的是margin)

2.再将其滑动到可见区域。
注意:这里的IF判断语句,是为了防止连续点击“左”或“右”的铵钮,而出现的BUG;

这判断的意思:只有当LI不处于动画状态时,才执行移动函数。只要处于动画状态,点击时,任何事都不发生。

Javascript 相关文章推荐
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
May 23 Javascript
jcrop基本参数一览
Jul 16 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
jQuery数组处理函数整理
Aug 03 Javascript
js异步编程小技巧详解
Aug 14 Javascript
JavaScript正则表达式和级联效果
Sep 14 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 Javascript
Node.js之readline模块的使用详解
Mar 25 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
Oct 26 Javascript
koa中间件核心(koa-compose)源码解读分析
Jun 15 Javascript
uni-app使用countdown插件实现倒计时
Nov 01 Javascript
判断多个input type=file是否有已经选择好文件的代码
May 23 #Javascript
jQuery 1.7.2中getAll方法的疑惑分析
May 23 #Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 #Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
May 23 #Javascript
jquery.pagination.js 无刷新分页实现步骤分享
May 23 #Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
May 23 #Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
May 23 #Javascript
You might like
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
PHP函数getenv简介和使用实例
2014/05/12 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
微信红包随机生成算法php版
2016/07/21 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
JS实现简单日历特效
2020/01/03 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
python实现将文本转换成语音的方法
2015/05/28 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
党的群众教育实践活动实施方案
2014/06/12 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
安全生产标语大全
2014/10/06 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
义卖募捐活动总结
2015/05/09 职场文书
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python