无缝滚动图片

/*2013-4-10 尜尜制作 追求最简单的写法*/
$(function(){
	var time = 3000;      // 每隔多久播放一次动画  时间为毫秒
	var dhua_time = 500;  // 图片轮换的间隙时间   时间为毫秒
	var animate_pic;       // 定义动画函数
	var ul_li = ".gaga_pic ul li";      // 获取图片的父节点li
	var wid = $( ul_li ).width() + 10;     // 获取图片的宽度
	var li_len = $( ul_li ).length;         // 获取图片的数量
	var first_an = ".gaga_pic ul li:first";       // 获取第一个li
	var last_an = ".gaga_pic ul li:last";      // 获取到最后一个li
	var prev = "prev";           // 点击上一张的按钮
	var next = "next";            // 点击下一张的按钮
	var an_div_a = "#gaga a";            // 点击的元素
	var an_bof = "#gaga";              // 显示图片的框框
	var min = 4;             // 图片的数量必须大于框框所显示图片的数量才可以执行动画
	if( li_len > min ){       // 图片的数量必须大于框框所显示图片的数量才可以执行动画
		if( li_len == min+1 ){      // 防止空白 
			$( first_an ).css("margin-left",wid);               // 设置第一个图片li的margin-left
		}else{
			$( last_an ).insertBefore( first_an );      // 将最后一个li插入到第一个li的后面
		}
		function run(){              // 封装
			if ( !$( ul_li ).is(":animated") ){      // 判断是否在动画
				if( li_len == min+1 ){          // 防止空白
					$( first_an ).animate({"margin-left":0},dhua_time,function(){
						$( first_an ).insertAfter( last_an );     // 将第一个li插入到最后一个li的后面
						$( ul_li ).attr("style","");       // 把li的margin设置为0 
						$( first_an ).css("margin-left",wid);
					});
				}else{
					$( first_an ).animate({"margin-left":-wid},dhua_time,function(){
						$( first_an ).insertAfter( last_an );     // 将第一个li插入到最后一个li的后面
						$( ul_li ).attr("style","");       // 把li的margin设置为0 
					});
				};
			};
		};
		$( an_div_a ).live("click",function(){
			if( $(this).hasClass( next ) ){       // 判断是否是点击下一张 显示前面一张(前进)
				run();
				return false;            // 防止跳转
			}else if( $(this).hasClass( prev ) ){     // 显示后面一张(后退)
				if ( !$( ul_li ).is(":animated") ){          // 判断是否在动画
					function last_animte(){         // 封装
						$( last_an ).insertBefore( first_an );      // 将最后一个li插入到第一个li的后面
						$( ul_li ).attr("style","");
					};
					if( li_len == min+1 ){          // 防止空白
						last_animte();
						$( first_an ).animate({"margin-left":wid},dhua_time);
					}else{
						$( first_an ).animate({"margin-left":wid},dhua_time,function(){
							last_animte();
						});
					};
				};
				return false;            // 防止跳转
			};
		});
		// 自动播放
		$( an_bof ).hover(function(){
			clearInterval( animate_pic );             // 清除动画
		},function(){
			animate_pic = setInterval( run,time );         // 执行动画
		}).trigger("mouseleave");
	}else{
		$( first_an ).css("margin-left",wid);         // 如果当前所显示的图片少于显示框里面所需要显示的图片 不执行动画
	};
});
下载地址:http://download.csdn.net/detail/gtd03/5242029
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值