时间:2021-05-26
本文实例介绍了javascript实现图片轮播效果的详细代码,分享给大家供大家参考,具体内容如下
效果图:
具体代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> *{ margin: 0; padding: 0; } .wrap{ width: 510px; margin: 0 auto; overflow: hidden; position: relative; } .caktye{ width: 9999px; overflow: hidden; position: relative; left: 0; } .main{ text-align: center; position: absolute; bottom: 10px; left: 35%; } .main button{ width: 25px; height: 25px; text-align: center; line-height: 25px; border-radius: 25px; display: inline-block; border: none; } .active{ background-color: yellow; } .caktye a{ float: left; } .caktye img { display: block; width:510px; } #prevBtn{ display: block; position: absolute; left: 5px; bottom: 45%; width: 15px; height: 15px; border-left: 5px solid ; border-top: 5px solid ; border-color: rgba(255,255,255,0.5); -webkit-transform: rotate(45deg); transform: rotate(-45deg); } #nextBtn{ display: block; position: absolute; right: 5px; bottom: 45%; width: 15px; height: 15px; border-right: 5px solid; border-top: 5px solid; -webkit-transform: rotate(45deg); transform: rotate(45deg); border-color: rgba(255,255,255,0.5); } </style></head><body> <div class="wrap"> <div class="caktye" id="inner"> <a href="###"><img src="img/1.jpg"></a> <a href="###"><img src="img/2.jpg"></a> <a href="###"><img src="img/3.jpg"></a> <a href="###"><img src="img/4.jpg"></a> <a href="###"><img src="img/5.jpg"></a> <a href="###"><img src="img/1.jpg"></a> </div> <div class="main"> <button class="active">1</button> <button>2</button> <button>3</button> <button>4</button> <button>5</button> </div> <div> <a href="###" id="prevBtn"></a> <a href="###" id="nextBtn"></a> </div> </div> <script type="text/javascript"> var innerList = document.getElementById("inner"); var btnList = document.getElementsByTagName("button"); var perWidth = inner.children[0].offsetWidth; var prevBtn = document.getElementById("prevBtn"); var nextBtn = document.getElementById("nextBtn"); // var imgList = inner.getElementsByTagName("img"); // var perWidth = imgList[0].offsetWidth; var timer = 0; var timer1 = 0; var index =0; var runFlag = true; //设置一个动画是否走完的标志位 for(var i = 0; i < btnList.length; i++) { btnList[i].index = i; btnList[i].onclick = function() { index = this.index; tab(); } } function tab() { var start = inner.offsetLeft; var end = - perWidth * index; var change = end - start; var t = 0; var maxT = 30; clearInterval(timer1); timer1 = setInterval(function() { t++; if(t >= maxT) { clearInterval(timer1); // alert("停下来了"); runFlag = true; } inner.style.left = change/maxT * t + start + "px"; if(index == btnList.length && t >= maxT) { inner.style.left = 0; } },30) // inner.style.left = - perWidth * index + "px"; for(var j = 0; j < btnList.length; j++) { btnList[j].className = ""; } if(index >= btnList.length) { btnList[0].className = "active"; }else { btnList[index].className = "active"; } } function xunhuan(){ index++; if(index>btnList.length){ index=1; } // inner.style.left = - perWidth * index + "px"; tab(); } var timer =setInterval(xunhuan,5000); inner.onmouseover =function(){ clearInterval(timer); } inner.onmouseout =function(){ timer = setInterval(xunhuan,5000); } function next() { index++; if(index > btnList.length) { index = 1; } tab(); } function prev() { index--; if(index < 0 ) { index = btnList.length - 1; inner.style.left = - btnList.length * perWidth + "px"; console.log(index); } tab(); } //下一张 nextBtn.onclick = function() { clearInterval(timer); if(runFlag) { next(); } runFlag = false; } //上一张 prevBtn.onclick = function() { clearInterval(timer); if(runFlag) { prev(); } runFlag = false; } </script></body></html>希望本文所述对大家学习javascript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
推荐阅读:Jquery代码实现图片轮播效果(一)在上篇文章给大家介绍了Javascript实现图片轮播效果(一)让图片跳动起来,这里我们实现图片序列节点的跳转实
图片轮播效果,在各大网站的首页都能看到,比较常见。下面小编给大家分享这一效果的简单实现。1.图片跳动起来2.图片序列控制的实现3.前后按钮控制的实现这篇文章来看
看到BlueDream在他博客上写的javascript仿QQ滑动菜单的效果,代码实在是优雅,相比较差别一下就凸显了,下次再把他代码的精髓偷过来,嘿嘿。【原理简
本文介绍了JavaScript实现图片轮播组件,废话不多说了直接看下面:效果:自动循环播放图片,下方有按钮可以切换到对应图片。添加一个动画来实现图片切换。鼠标停
轮播图实现效果见下图,图片能自己轮播,点击左右按钮进行翻页轮播,鼠标悬停图片或者标题上,停止轮播;效果图为:复制代码代码如下: