js實現(xiàn)幻燈片輪播圖
本文實例為大家分享了js實現(xiàn)幻燈片輪播圖的具體代碼,供大家參考,具體內(nèi)容如下
1.html
選取了五張圖片 放入div中,然后是左右箭頭,以及按鈕,代碼如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>輪播圖</title> <link href="../css/輪播圖.css" rel="stylesheet"> </head> <body> <div id="box"> <img src="../image/car-1.jpg"> <img src="../image/car-2.jpg"> <img src="../image/car-3.jpg"> <img src="../image/car-4.jpg"> <img src="../image/car-5.jpg"> <div class="arrow"> <a class="left" href="javacript:void(0);" ><</a> <a class="right" href="javacript:void(0);" >></a> </div> <ul class="btn"> <li class="on" slideIndex="1">1</li> <li slideIndex="2">2</li> <li slideIndex="3">3</li> <li slideIndex="4">4</li> <li slideIndex="5">5</li> </ul> </div> <script src="../js/輪播圖.js"> </script> </body> </html>
2.css給div設(shè)置居中
將所有圖片隱藏,設(shè)置箭頭和小圓點的樣式
代碼如下
*{
margin:0;
padding:0;
text-decoration: none;
list-style: none;
}
#box{
width:800px;
height: 500px;
margin:50px auto 0px;
position: relative;
}
#box img{
width:800px;
height: 500px;
display: none;
animation:fade 3s;
}
#box .arrow{
width:800px;
height: 80px;
position: absolute;
top:50%;
margin-top: -40px;
}
#box .arrow .left,.right{
display: inline-block;
line-height: 80px;
width: 50px;
height:80px;
}
#box .arrow .left:hover{
background:rgba(0,0,0,0.8);
}
#box .arrow .right:hover{
background:rgba(0,0,0,0.8);
}
#box .arrow .right{
text-align: right;
position: absolute;
right:0;
}
#box .arrow a{
font-size: 50px;
color: #ffffff;
}
#box .btn{
position: absolute;
bottom: 10px;
left:50%;
margin-left: -98.47px;
text-align: center;
}
#box .btn li{
text-align: center;
margin:0 5px;
padding: 10px;
float:left;
background:white;
border-radius:20%;
cursor: pointer;
transition: background 2s ease;
}
#box .btn .on{
background: #000;
color:white;
}
@keyframes fade{
from{
opacity:.4;
}
to{
opacity:1;
}
}
3.js部分
js設(shè)定讓當(dāng)前圖片顯示display:block,其他圖片隱藏display:none;
js代碼如下
window.onload=function () {
var left=document.getElementsByClassName("left")[0];
var right=document.getElementsByClassName("right")[0];
var btn=document.getElementsByClassName("btn")[0].getElementsByTagName("li");
var box=document.getElementById("box");
var slideIndex=1;
var index=1;
var timer;
//圖片切換函數(shù)
showSlides(slideIndex);
function showSlides(n) {
var slides=document.getElementById("box").getElementsByTagName("img");
for(var i=0;i<slides.length;i++){
slides[i].style.display="none";
btn[i].className="";
}
slides[slideIndex-1].style.display="block";
btn[slideIndex-1].className="on"
}
//箭頭切換
left.onclick=function () {
if(slideIndex>1) {
slideIndex--;
showSlides(slideIndex);
}else {
slideIndex=5;
showSlides(slideIndex);
}
}
right.onclick=function () {
if(slideIndex<5) {
slideIndex++;
showSlides(slideIndex);
}else {
slideIndex=1;
showSlides(slideIndex);
}
}
//btn切換
for(var i=0;i<btn.length;i++){
btn[i].onclick=function () {
var myslideIndex=this.getAttribute('slideIndex');
// var myindex=parseInt(this.getAttribute("index"));
slideIndex=myslideIndex;
showSlides(slideIndex);
}
}
//自動播放
function play() {
timer=setInterval(function () {
right.onclick();
},4000);
}
function stop() {
clearInterval(timer);
}
box.onmouseout=play;
box.onmouseover=stop;
play();
}
精彩專題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一個非常全面的javascript URL解析函數(shù)和分段URL解析方法
本文詳細(xì)介紹了一個非常全面的javascript URL解析函數(shù),可以解析一個URL中的協(xié)議、主機、查詢字符串甚至錨鏈接,非常實用,一并總結(jié)了js自帶的分段URL解析方法,需要的朋友可以參考下2014-04-04
canvas壓縮圖片轉(zhuǎn)換成base64格式輸出文件流
本文主要介紹了canvas壓縮圖片轉(zhuǎn)換成base64格式輸出文件流的方法,具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03
Js setInterval與setTimeout(定時執(zhí)行與循環(huán)執(zhí)行)的代碼(可以傳入?yún)?shù))
最近在做項目時用到了定時執(zhí)行的js方法,setInterval與setTimeout時間長了不用有些生疏了,所以自己總結(jié)了一下,記下來,以便以后使用。2010-06-06
javascript中的event loop事件循環(huán)詳解
這篇文章主要給大家介紹了關(guān)于javascript中event loop事件循環(huán)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12

