基于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 相关文章推荐
Javascript注入技巧
Jun 22 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
Sep 28 Javascript
js 调用父窗口的具体实现代码
Jul 15 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
Sep 01 Javascript
js实现Select头像选择实时预览代码
Aug 17 Javascript
基于JavaScript实现生成名片、链接等二维码
Sep 20 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
vue.js移动端tab组件的封装实践实例
Jun 30 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
浅谈React Native 传参的几种方式(小结)
May 21 Javascript
在小程序中推送模板消息的实现方法
Jul 22 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 组件化编程技巧
2009/06/06 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
php中动态调用函数的方法
2015/03/16 PHP
php创建无限级树型菜单
2015/11/05 PHP
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
在Python中进行自动化单元测试的教程
2015/04/15 Python
Python中join函数简单代码示例
2018/01/09 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
python实现批量注册网站用户的示例
2019/02/22 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
python如何调用字典的key
2020/05/25 Python
使用Python构造hive insert语句说明
2020/06/06 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
对公司合理化的建议书
2014/03/12 职场文书
企业文化建设实施方案
2014/03/22 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
银行求职信模板
2015/03/20 职场文书
新郎接新娘保证书
2015/05/08 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android