作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 00:28:27 阅读 我要评论

在线演示:http://demo.jb51.net/js/2012/myslideLeftRight/打包下载:http://www.jb51.net/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之编码规范 推荐

一、命名 1、应给变量和函数取一个含义确切的名称,不要随意命名。 2、非构造函数采用驼峰命名法,尽量采用动宾结构,以与变量名相区别,如getName或IsFull。构造函数(即自定义类型)名称首字母大写,以与非构造函>>>详细阅读


本文标题:基于jQuery的图片左右无缝滚动插件

地址:http://www.17bianji.com/kaifa2/JS/23386.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)