JavaScript實現(xiàn)輪播圖效果代碼實例
這篇文章主要介紹了JavaScript實現(xiàn)輪播圖效果代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
HTML部分:
<!-- HTML部分 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>輪播圖</title>
<link rel="stylesheet" type="text/css" href="css/demo06.css" rel="external nofollow" />
<script src="js/demo06.js"></script>
</head>
<body>
<div class="container">
<!-- 輪播圖區(qū)域 -->
<ul class="lbimg">
<li class="on" style="background-color: #898989;">輪播圖1</li>
<li style="background-color: #CD282B;">輪播圖2</li>
<li style="background-color: pink;">輪播圖3</li>
<li style="background-color: peachpuff;">輪播圖4</li>
<li style="background-color: palegoldenrod;">輪播圖5</li>
</ul>
<ol class="btn">
<li class="active">第1張</li>
<li>第2張</li>
<li>第3張</li>
<li>第4張</li>
<li>第5張</li>
</ol>
</div>
</body>
</html>
CSS部分
*{
margin: 0;
padding: 0;
list-style: none;
}
.container{
width: 600px;
height: 400px;
border: 4px double #FF6633;
margin: 0 auto;
}
/* 輪播圖 */
.lbimg li{
width: 100%;
height: 350px;
text-align: center;
line-height: 350px;
display: none;
font-size: 25px;
color: #FF6633;
}
.lbimg .on{
display: block;
}
.btn{
width: 100%;
height: 50px;
background-color: #3CBDFF;
display: flex;
}
.btn li{
flex: 1;
color: #fff;
font-weight: bold;
line-height: 50px;
text-align: center;
font-family: "楷體";
cursor: pointer;
}
.btn .active{
background-color: rgba(0,0,0,0.2);
transition: all ease-in-out 0.25s;
}
JavaScript部分
window.onload=function(){
var lbimg=document.querySelector(".lbimg");
var lbimgs=lbimg.querySelectorAll("li");
var btn=document.querySelector(".btn");
var btns=btn.querySelectorAll("li");
for (var i = 0; i < btns.length; i++) {
btns[i].index=i;
btns[i].onclick=function(){
clearInterval(timer);
for (var j = 0; j < lbimgs.length; j++) {
lbimgs[j].className="";
}
// 按鈕顏色跟著變化
for(var k=0;k<btns.length;k++){
btns[k].className="";
}
// 輪播同步,點(diǎn)擊后圖片的位置從點(diǎn)擊的地方開始輪播
index=this.index;
btns[this.index].className="active";
lbimgs[this.index].className="on";
timer=setInterval(autoPlay,1000);
}
}
var index=0;
// 自動輪播
index++;
var timer=setInterval(autoPlay,1000);
function autoPlay(){
for (var i = 0; i < lbimgs.length; i++) {
lbimgs[i].className="";
}
for (var j = 0; j < btns.length; j++) {
btns[j].className="";
}
if(index==lbimgs.length-1){
index=0;
}else{
index++;
}
btns[index].className="active";
lbimgs[index].className="on";
}
// 鼠標(biāo)移動時清除定時器
lbimg.onmouseover=function(){
clearInterval(timer);
}
lbimg.onmouseout=function(){
timer=setInterval(autoPlay,1000);
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
layui.tree組件的使用以及搜索節(jié)點(diǎn)功能的實現(xiàn)
今天小編就為大家分享一篇layui.tree組件的使用以及搜索節(jié)點(diǎn)功能的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript使用Promise實現(xiàn)分批處理接口請求
當(dāng)我們在實際項目中遇到需要批量發(fā)起上百條接口請求怎么辦呢,本文就來為大家介紹一下JavaScript如何使用Promise實現(xiàn)分批處理接口請求,需要的小伙伴可以參考一下2023-11-11
webpack 動態(tài)批量加載文件的實現(xiàn)方法
這篇文章主要介紹了webpack 動態(tài)批量加載文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
使用JavaScript?將數(shù)據(jù)網(wǎng)格綁定到?GraphQL?服務(wù)的操作方法
GraphQL是管理JavaScript應(yīng)用程序中數(shù)據(jù)的優(yōu)秀工具,本教程展示了GraphQL和SpreadJS如何簡單地構(gòu)建應(yīng)用程序,?GraphQL?和?SpreadJS都有更多功能可供探索,因此您可以做的事情遠(yuǎn)遠(yuǎn)超出了這個示例,感興趣的朋友一起看看吧2023-11-11
情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的(javascript)
這篇文章主要介紹了情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的,感興趣的朋友一起來學(xué)習(xí)下2015-08-08
javascript對下拉列表框(select)的操作實例講解
這篇文章主要介紹了javascript對下拉列表框(select)的操作。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
javascript實現(xiàn)的動態(tài)添加表單元素input,button等(appendChild)
這篇文章給大家介紹了javascript實現(xiàn)的動態(tài)添加表單元素input,button等(appendChild)的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2007-11-11

