JS实现轮播图(可以选择加上按钮可选择加当前第几个图)

题记:

有很久没有写前端了,最近要做个轮播图,本来想直接cope一个的,结果网上那些都太复杂了,写那么多,改了个简单的,防止以后再做好直接用,注释多,简单易懂!!!主要是方便!!!

GitHub下载地址我放在了文末。

实现代码:



	
	



	
< >
//js代码如下-------------------------------------------------------------------- $(document).ready(function () { initRadius(); }); var number = 1; //设置为全局变量 //轮播图图片主体 function startSlide() { dealRadius(number); if(number == 4) { //此处为4,因为5张图片,如果为其他的减1即可 number = 0; $('#slide_img').css({left: '0px'}); //处理无缝衔接图 dealRadius(0); // 处理无缝衔接小圆点的跳转 } number++; var imageLeft = -1366 * number; //1366是移动的距离,根据自己图片的大小更改 $('#slide_img').animate({left: imageLeft}); } var timer = setInterval(startSlide,3000);//3000是3秒,每次间隔3秒钟滑动一次 //小圆点的轮播实现 function dealRadius(num) { var lis = $('#num li'); lis.eq(num).css('background-color', 'red'); for(var i = 0; i < num; i++) { lis.eq(i).css('background-color','white'); } for(var i = num + 1; i < 4; i++) { lis.eq(i).css('background-color','white'); } } //初始化小圆点 function initRadius() { var lis = $('#num li'); lis.eq(0).css('background-color', 'red'); } //左右按钮的实现 $('#left').mousedown (function() { clearInterval(timer); if(number == 0) { $('#slide_img').css({left: '-4000px'}); number = 4; } var imageLeft = -1366 * (number-1); $('#slide_img').animate({left: imageLeft}); number--; if(number == 0) { dealRadius(3); } else { dealRadius(number-1); } }); $('#left').mouseup(function() { timer = setInterval(startSlide,3000); }); $('#right').mousedown (function() { clearInterval(timer); if(number == 4) { number = 0; $('#slide_img').css({left: '0px'}); //处理无缝衔接图 } var imageLeft = -1366 * (number+1); $('#slide_img').animate({left: imageLeft}); dealRadius(number); number++; }); $('#right').mouseup(function() { timer = setInterval(startSlide,3000); }); //小圆点的点击实现 $('#num').on('click','li',function(){ clearInterval(timer); var _number = $(this).index() + 1; number = _number dealRadius(number-1); var imageLeft = -1366 * number; $('#slide_img').animate({left: imageLeft}); timer = setInterval(startSlide,3000); }); css代码如下----------------------------------------------------------------- *{ margin: 0; padding: 0; } .slide{ position: relative; width: 1266px; /*装图片的盒子的长度为1266px,可以任意改*/ height: 500px; margin: 40px auto; overflow: hidden; } .img ul{ position: absolute; left: -1366px; width: 6830px; /*总共的图片长度例如此例子是5个图,5*1366px*/ } .img li{ list-style-type: none; float: left; } img{ width: 1366px; height: 500px; } #num li{ list-style-type: none; background-color: white; border: 1px solid red; border-radius: 100px; float: left; width: 10px; height: 10px; margin: 10px; cursor: pointer; } #num { position: absolute; top: 450px; left: 800px; } .btn{ font-size: 30px; color: gray; } #left{ position: absolute; top: 230px; left: 40px; cursor: pointer; } #right{ position: absolute; top: 230px; right: 40px; cursor: pointer; }

实现效果图:

一共4张图片切换,这里我就截2张效果图。

另外代码的下载地址如下:

代码下载地址

你可能感兴趣的:(js,html)