天天看點

輪播圖的實作簡單輪播圖實作(H5+CS3+JS&JQuery)首先引入jquery頁面Html

簡單輪播圖實作(H5+CS3+JS&JQuery)

最終效果圖如下:

每2000毫秒自動輪播,滑鼠劃入顯示左右按鈕;進行手動點選按鈕左右切換。劃出隐藏按鈕并繼續進行自動播放。

輪播圖的實作簡單輪播圖實作(H5+CS3+JS&JQuery)首先引入jquery頁面Html

***下面将貼出我的實作代碼:***

首先引入jquery

頁面Html

<body>
 <div id="container">
    <div id="div1" style="left:-2000px;">
      <img src="4.jpg" alt="1">
      <img src="5.jpg" alt="2">
      <img src="6.jpg" alt="3">
      <img src="7.jpg" alt="4">
      <img src="4.jpg" alt="1">
      <img src="5.jpg" alt="2">
    </div>
    <div id="buttons">
      <span index="1" class="actived"></span>
      <span index="2"></span>
      <span index="3"></span>
      <span index="4"></span>
    </div>
    <div id="left-right">
    <div id="left" onclick="pre()">&lsaquo;</div>
    <div id="right" onclick="af()">&rsaquo;</div>
    <div>
  </div>
</body>
           

css樣式:

#container{
    border:solid;
    width:500px;
    height:320px;
    margin:0 auto;
    position:relative;
    overflow: hidden;
  }
  #div1{
    width:4200px;
    height:300px;
    position:absolute;
  }
  img{
    float:left;
    width:500px;
    height:300px;
    z-index: 2;
  }
  #buttons{//圓點導航框
   position:absolute;
   z-index: 1;
   width: 130px;
   height: 20px;
   left:370px;
   margin-left:-187.5px;
   margin-top:298px;
 }
 #buttons span{//圓點樣式
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.2);
  width: 5px;
  height: 5px;
  top:8px;
  left:35px;
  margin-left: 5px;
  border-radius: 50%;
  float: left;
  background-color:rgba(0,0,0,0.1);
}
#buttons .actived{//選中時樣式
  border: 1px solid rgba(205,133,63,1);
  background-color: rgba(205,133,63,1);
}
#left-right{
  display: none;
  position: relative;
  top:143px;
  width: 500px;
  height: 50px;
}
#left,#right{//左右按鈕樣式
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 30px;
  border-radius: 50%;
  background-color:rgba(0, 0, 0, 0.1);
}
#left{
  float:left;
}
#right{
  float:right;
}
           

實作效果的js代碼

var timer;
    //Dom元素加載完成後執行的代碼
    $(document).ready(function() {
    	$("#container").mouseover(function(event){
        clearInterval(timer);//清除計時器
        setlr();
    }).mouseout(function(event) {
    	$("#left-right").css("display","none");
    	play();
    });
    $("#left-right").click(function(event) {
    	setlr();
    });
    play();
});
    //圖檔變換;
    function animate(offset) {
    	var div = document.querySelector("#div1");
    	var newleft = parseInt(div.style.left) + offset;
    	if (newleft < -2000) {
    		div.style.left = -500 + "px";
    	} else if (newleft > -500) {
    		div.style.left = -2000 + "px";
    	} else {
    		div.style.left = newleft + "px";
    	}
    	changespan(parseInt(div.style.left));
    };
    //監聽圓點狀态;
    function changespan(le){
    	$("span").attr("class","");
    	switch(le){
    		case -2000:
    		$("[index='1']").attr("class","actived");
    		break;
    		case -1500:
    		$("[index='2']").attr("class","actived");
    		break;
    		case -1000:
    		$("[index='3']").attr("class","actived");
    		break;
    		case -500:
    		$("[index='4']").attr("class","actived");
    		break;
    	} ;
    };
    //監聽按鈕顯示與隐藏;
    function setlr(){
    	var div = document.querySelector("#div1");
    	$("#left-right").css("display","block");
    	if(parseInt(div.style.left) ==-2000 || (parseInt(div.style.left) + 1500)==-500){
    		$("#left").css("display","none");
    		$("#right").css({"display":"block","cursor":"pointer"});
    	}else if(parseInt(div.style.left)==-500 || (parseInt(div.style.left) + -1500)==-2000 ){
    		$("#left").css({"display":"block","cursor":"pointer"});
    		$("#right").css("display","none");
    	}else{
    		$("#left").css({"display":"block","cursor":"pointer"});
    		$("#right").css({"display":"block","cursor":"pointer"});
    	}
    }
    function play(){
    	timer=setInterval("animate(500)", 2000);
    }
    //左箭頭點選時,觸發事件;
    function pre(){
    	animate(-500);
    }
    //右箭頭點選時,觸發事件;
    function af(){
    	animate(500);
    }
           

希望能幫到大家,謝謝!!