手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于jQuery的图片左右无缝滚动插件
基于jQuery的图片左右无缝滚动插件
摘要:在线演示:http://demo.jb51.net/js/2012/myslideLeftRight/打包下载:http://www.jb5...

在线演示: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不处于动画状态时,才执行移动函数。只要处于动画状态,点击时,任何事都不发生。

【基于jQuery的图片左右无缝滚动插件】相关文章:

jQuery的基本概念与高级编程

基于zepto的移动端轻量级日期插件--date

基于jQuery实现的无刷新表格分页实例

jQuery实现的多屏图像图层切换效果实例

AngularJS的内置过滤器详解

体验jQuery和AngularJS的不同点及AngularJS的迷人之处

jquery实现点击label的同时触发文本框点击事件的方法

3张图片循环组和(很有动感)

jQuery构造函数init参数分析续

JQuery分屏指示器图片轮换效果实例

精品推荐
分类导航