1 编写HTML文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>美丽的校园</title>
<link rel="stylesheet" href="css/carousel.css" />
<script src="js/carousel.js"></script>
</head>
<body>
<div class="carousel" id="carousel">
<div class="carousel-inner">
<div class="item">
<img src="images/slide1.jpg" alt="美丽的校园风景" />
<div class="carousel-caption">美丽的校园风景</div>
</div>
<div class="item">
<img src="images/slide2.jpg" alt="美丽的校园风景" />
<div class="carousel-caption">美丽的校园风景</div>
</div>
<div class="item">
<img src="images/slide3.jpg" alt="美丽的校园风景" />
<div class="carousel-caption">美丽的校园风景</div>
</div>
</div>
<div class="carousel-indicators">
<li></li>
<li></li>
<li></li>
</div>
<a class="carousel-control left" href="#carousel">‹</a>
<a class="carousel-control right" href="#carousel">›</a>
</div>
</body>
</html>
2 编写CSS样式
.carousel{
position: relative;
width: 100%;
height:514px;
margin: 0 auto;
}
.carousel-inner{
position: relative;
width: 100%;
overflow: hidden;
}
.carousel-inner>.item{
position: relative;
display: none;
transition: all .6s ease-in-out left;
}
.carousel-inner>.active{
display: block;
left: 0;
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
.carousel-inner>.item>img{
display: block;
max-width: 100%;
height: auto;
line-height: 1;
vertical-align: middle;
border: 0;
}
.carousel-caption{
position: absolute;
right: 15%;
left: 15%;
bottom: 40px;
z-index: 10;
padding: 20px 0;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0,0,0,.6);
}
.carousel-indicators{
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
padding-left: 0;
margin-left: -30%;
text-align: center;
list-style: none;
}
.carousel-indicators>li{
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
cursor: pointer;
background: rgba(0,0,0,0);
border: 1px solid #fff;
border-radius: 10px;
}
.carousel-indicators .active{
width:12px;
height: 12px;
margin: 0;
background-color: #fff;
}
.carousel-control{
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 15%;
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0,0,0,.6);
background-color: rgba(0,0,0,0);
}
.carousel-control.left{
background-image: linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);
background-repeat: repeat-x;
}
.carousel-control.right{
right: 0;
left: auto;
background-image: linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);
background-repeat: repeat-x;
}
a.carousel-control{
font-size: 48px;
line-height: 514px;;
text-decoration: none;
}
3 编写JS脚本
window.onload=function(){
var innerItems=document.getElementsByClassName("item");
var indicatoursLists=document.getElementsByTagName("li");
var controlLeft=document.getElementsByClassName("left")[0];
var controlRight=document.getElementsByClassName("right")[0];
var current=0;
innerItems[current].className="item active";
indicatoursLists[current].className="acitve";
function slide(){
for(var i=0;i<indicatoursLists.length;i++){
innerItems[i].className="item";
indicatoursLists[i].className="";
indicatoursLists[i].index=i;
indicatoursLists[i].onclick=function(){
if(this.index==current){
return false;
}else{
current=this.index;
slide();
}
}
}
innerItems[current].className="item active";
indicatoursLists[current].className="active";
console.log(current);
}
controlLeft.onclick=function(){
current--;
if(current==-1){
current=indicatoursLists.length-1;
}
slide();
}
controlRight.onclick=function(){
current++;
if(current==indicatoursLists.length){
current=0;
}
slide();
}
var timer=setInterval(controlRight.onclick,5000);
controlLeft.onmouseover=controlRight.onmousemove=function(){
clearInterval(timer);
controlLeft.style.opacity=1;
controlRight.style.opacity=1;
}
controlLeft.onmouseout=controlRight.onmouseout=function(){
timer=setInterval(controlRight.onclick,5000);
controlLeft.style.opacity=0;
controlRight.style.opacity=0;
}
slide();
}