带进度条轮播支持左右切换和按钮切换【原创

来源:https://www.sucaihuo.com/js/1894.html 2017-05-06 18:09浏览(2131) 收藏

自己写的jQuery图片轮播代码,带进度条轮播,可左右切换、按钮切换,简单好用源码开放、能跑起来、代码没有整理 有点乱,不过我都有注释
带进度条轮播支持左右切换和按钮切换
分类:图片代码 > 图片轮播 难易:初级
查看演示 下载资源 下载积分: 30 积分
第一次写教程,好紧张

var oSj = 5000; //图片播放时间
var i = 0;
var bar = $(".banner-box .bar");
var oImg = $(".banner-box .img"); //获取图片盒子
var oImgfirst = $('.banner-box .img li:first').clone(); //复制第一张图片
oImg.append(oImgfirst); //将复制的第一张图片放到最后
var imgNum = $(".banner-box .img li").size(); //获取图片数量
//根据图片个数添加圆点按钮
for (var j = 1; j <= imgNum - 1; j++) {
	$('.banner-box .li').append('<li></li>');
}

//给第一个按钮添加选中样式
$('.banner-box .li li:first').addClass('index');

//点击向右轮播
$(".but-right").click(function() {
	int();
});

//点击向左轮播
$(".but-left").click(function() {
	bar.stop().css('width', 0);
	i--;
	if (i == -1) {
		$('.banner-box .img').css('left', -(imgNum - 1) * 800); //用CSS进行图片位置变换,达到无缝拼接效果
		i = imgNum - 2;
	}
	oImg.stop().animate({
		left: -i * 800
	},
	500); //动画效果
	clearInterval(oTime);
	oTime = setInterval(function() {
		int();
	},
	oSj);
	barAniMate(); //进度条函数动画效果
	$(".banner-box .li li").eq(i).addClass('index').siblings().removeClass('index'); //给相应的按钮添加样式
});

//鼠标移动到圆点后轮播
$(".banner-box .li li").hover(function() {
	clearInterval(oTime); //清除定时器
	bar.stop().css('width', 0);
	var index = $(this).index();
	i = index;
	oImg.stop().animate({
		left: -index * 800
	},
	500); //动画效果
	bar.stop().css('width', 0);
	$(this).addClass('index').siblings().removeClass('index'); //给相应的按钮添加样式
},
function() {
	barAniMate(); //进度条函数动画效果
	oTime = setInterval(function() {
		int();
	},
	oSj);
});

//自动轮播
var oTime = setInterval(function() {
	int();
},
oSj);

barAniMate(); //进度条函数动画效果
//进度条函数动画效果
function barAniMate() {
	bar.animate({
		width: '100%'
	},
	oSj,
	function() {
		$(this).css('width', 0);
	});
}

//自动轮播函数
function int() {
	bar.stop().css('width', 0);
	i++;
	if (i == imgNum) {
		oImg.css('left', 0); //用CSS进行图片位置变换,达到无缝拼接效果
		i = 1;
	}
	oImg.stop().animate({
		left: -i * 800
	},
	500); //动画效果
	barAniMate(); //进度条函数动画效果
	clearInterval(oTime);
	oTime = setInterval(function() {
		int();
	},
	oSj);
	if (i == imgNum - 1) {
		$(".banner-box .li li").eq(0).addClass('index').siblings().removeClass('index'); //给相应的按钮添加样式
	} else {
		$(".banner-box .li li").eq(i).addClass('index').siblings().removeClass('index'); //给相应的按钮添加样式
	}
}
标签: 轮播焦点图
声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/js/1894.html
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2