原生JavaScript實現(xiàn)輪播圖
更新時間:2021年01月10日 09:29:22 作者:棟棟很優(yōu)秀啊
這篇文章主要為大家詳細介紹了原生JavaScript實現(xiàn)輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了JavaScript實現(xiàn)輪播圖的具體代碼,供大家參考,具體內(nèi)容如下
效果:

代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
ul,
li {
list-style: none;
}
.banner {
width: 1200px;
height: 535px;
border: 1px solid red;
margin: 0 auto;
position: relative;
}
.slider li {
position: absolute;
left: 0;
top: 0;
}
a {
width: 40px;
height: 50px;
background-color: rgba(0, 0, 0, 0.1);
font-size: 50px;
text-align: center;
line-height: 50px;
position: absolute;
text-decoration: none;
color: gray;
}
.btnl {
left: 0;
top: 50%;
margin-top: -15px;
}
.btnr {
right: 0;
top: 50%;
margin-top: -25px;
}
.tabs {
position: absolute;
bottom: 20px;
left: 50%;
margin-left: -75px;
}
.tabs li {
width: 15px;
height: 15px;
background-color: #ccc;
border-radius: 50%;
float: left;
margin-right: 10px;
}
</style>
</head>
<body>
<div class="banner">
<ul class="slider">
<li><img src="img/b1.jpg" alt="" /></li>
<li><img src="img/b2.jpg" alt="" /></li>
<li><img src="img/b3.jpg" alt="" /></li>
<li><img src="img/b4.jpg" alt="" /></li>
<li><img src="img/b5.jpg" alt="" /></li>
<li><img src="img/b6.jpg" alt="" /></li>
</ul>
<a href="javascript:void(0);" class="btnl">
<</a>
<a href="javascript:void(0);" class="btnr">></a>
<ul class="tabs">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<script type="text/javascript">
var banner = document.getElementsByClassName("banner")[0];
var slider = document.getElementsByClassName("slider")[0];
var li = slider.getElementsByTagName("li");
var btnl = document.getElementsByClassName("btnl")[0];
var btnr = document.getElementsByClassName("btnr")[0];
var tabs = document.getElementsByClassName("tabs")[0];
var btns = tabs.getElementsByTagName("li");
//初始化
btns[0].style.backgroundColor = "red";
for(var i = 0; i < li.length; i++) {
if(i == 0) {
continue;
} else {
li[i].style.opacity = 0;
}
}
var timer = setInterval(mover, 1000);
//聲明一個變量,代表當前圖片的下標
var num = 0;
function mover() {
num++;
if(num == li.length) {
num = 0;
}
for(var i = 0; i < li.length; i++) {
li[i].style.opacity = 0;
btns[i].style.backgroundColor = "#ccc";
}
li[num].style.opacity = 1;
btns[num].style.backgroundColor = "red";
}
function movel() {
num--;
if(num == -1) {
num = li.length - 1;
}
for(var i = 0; i < li.length; i++) {
li[i].style.opacity = 0;
btns[i].style.backgroundColor = "#ccc";
}
li[num].style.opacity = 1;
btns[num].style.backgroundColor = "red";
}
banner.onmouseover = function() {
clearInterval(timer)
}
banner.onmouseout = function() {
timer = setInterval(mover, 1000)
}
btnl.onclick = function(e) {
movel();
}
btnr.onclick = function(e) {
mover();
}
// 小圓點效果
for(var i = 0; i < btns.length; i++) {
btns[i].index = i;
btns[i].onmouseover = function() {
if(this.index == num) {
return;
} else {
for(var i = 0; i < li.length; i++) {
li[i].style.opacity = 0;
btns[i].style.backgroundColor = "#ccc";
}
li[this.index].style.opacity = 1;
btns[this.index].style.background="red";
num=this.index;
}
}
}
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解ES6中的 Set Map 數(shù)據(jù)結(jié)構(gòu)學習總結(jié)
這篇文章主要介紹了詳解ES6中的 Set Map 數(shù)據(jù)結(jié)構(gòu)學習總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
javascript設計模式之Adapter模式【適配器模式】實現(xiàn)方法示例
這篇文章主要介紹了javascript設計模式之Adapter模式,結(jié)合實例形式分析了JS適配器模式的原理與具體實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下2017-01-01
JavaScript使用Promise實現(xiàn)并發(fā)請求數(shù)限制
本文主要介紹了JavaScript使用Promise實現(xiàn)并發(fā)請求數(shù)限制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04

