亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js+html+css實(shí)現(xiàn)手動(dòng)輪播和自動(dòng)輪播

 更新時(shí)間:2020年12月30日 14:14:04   作者:南柯Seven  
這篇文章主要為大家詳細(xì)介紹了js+html+css實(shí)現(xiàn)手動(dòng)輪播和自動(dòng)輪播效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js+html+css實(shí)現(xiàn)手動(dòng)輪播和自動(dòng)輪播的具體代碼,供大家參考,具體內(nèi)容如下

原理:設(shè)置圖片層的總長(zhǎng)=單張圖片長(zhǎng)度*張數(shù);在輪播層中利用overflow只留出一張圖片的顯示; 通過(guò)圖片層的left來(lái)顯示輪播的每一張圖,第一張為0,為了后面的圖片顯示,left的值左移為負(fù)數(shù)。

原理圖

代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>輪播圖</title>
<!-- <script type="text/javascript" src="demo.js"></script> -->
</head>
<style type="text/css">
 *{
 margin: 0;
 padding: 0;
 }
 ul{
 list-style: none;
 }
 a{
    text-decoration: none;
  }
 #container{
 position: relative;
 width: 500px;
 height: 260px;
 margin: 20px auto;
 overflow: hidden; /*溢出隱藏:只顯示一張圖片*/
 }
 #container .parent{
 position: absolute;
 width: 2500px; /*整個(gè)圖片層長(zhǎng)度:500*5=2500*/
 height: 260px;
 }
 
 #container .parent li{
 float: left;
 width: 500px;
 height: 100%;
 }
 #container .parent li img{
 width: 100%;
 height: 100%;
 }
 #container .btnLeft,
 #container .btnRight{
 width: 30px;
   height: 30px;
   background-color: #9E9E9E;
   border-radius: 20%;
   opacity: 80%;
   position: absolute; /*包含塊為圖片顯示層container*/
   top: 0;
   bottom: 0;
   margin: auto;
   font-size: 20px;
   color: #f40;
   text-align: center;
   line-height: 30px;
 }
 #container .btnLeft{
   left: 10px;
 }
 #container .btnRight{
 right: 10px;
 }
 #container .btnLeft:hover,
 #container .btnRight:hover{
 opacity: 90%;
 cursor: pointer;
 }
 /*蒙層*/
 #container .modal{
 width: 100%;
 height: 40px;
 background: rgba(0,0,0,.3);
 position: absolute;
 left: 0;
 bottom: 0;
 line-height: 40px;
 padding: 0 40px;
 box-sizing: border-box;
 }
 #container .modal .title{
 float: left;
 color: #fff;
 font-size: 12px;
 }
 #container .modal .dots{
 float: right;
 position: absolute;
 bottom: 10px;
 left: 340px;
 }
 #container .modal .dots li{
 width: 15px;
 height: 15px;
 border-radius: 50%;
 float: left;
 /*可以使用行塊盒*/
 /*display: inline-block;*/
 margin: 0 5px;
 cursor: pointer;
 }
 .clearfix::after{
 content: "";
 display: block;
 clear: both;
 }
 .on{
 background-color: red;
 }
 .off{
 background-color: gray;
 }
</style>
<body>
<div id="container">
 <ul class="parent" style="left: 0;">
 <li><img src="1.jpg"></li>
 <li><img src="2.jpg"></li>
 <li><img src="3.jpg"></li>
 <li><img src="4.jpg"></li>
 <li><img src="5.jpg"></li>
 </ul>

 <div class="btnLeft">&lt;</div>
 <div class="btnRight">&gt;</div>
 <div class="modal">
 <div class="title">
  <h2>輪播圖</h2>
 </div>
 <div class="dots">
  <ul class="clearfix">
  <li class="on"></li>
  <li class="off"></li>
  <li class="off"></li>
  <li class="off"></li>
  <li class="off"></li>
  </ul>
 </div>
 </div>
</div>
<script type="text/javascript">
 
var imgShow = document.getElementsByClassName('parent')[0],
 dotList = document.querySelectorAll('.dots >.clearfix > li');
var btnLeft = document.getElementsByClassName('btnLeft')[0],
  btnRight = document.getElementsByClassName('btnRight')[0];
var dotLen = dotList.length,
 index = 0; //輪播層的圖片索引,0表示第一張

//圓點(diǎn)顯示
function showRadius() {
 for(var i = 0; i < dotLen; i++) {
 if(dotList[i].className === "on"){
  dotList[i].className = "off";
 }
 }
 dotList[index].className = "on";
}

//向左移動(dòng)
btnLeft.onclick = function() {
 index--;
  if(index < 0){ /*第1張向左時(shí),變?yōu)榈?張*/
    index = 4;
  }
  showRadius();
 var left;
 var imgLeft = imgShow.style.left;
 if(imgLeft === "0px") { /*當(dāng)是第1張時(shí),每張圖片左移,移4張圖,位置為-(4*500)*/
 left = -2000;
 }
 else{
 left = parseInt(imgLeft) + 500; /*由于left為負(fù)數(shù),每左移一張加500*/
 }
 imgShow.style.left = left + "px";
}

//向右移動(dòng)
btnRight.onclick = function() {
 index++;
  if(index > 4){ /*第5張向右時(shí),變?yōu)榈?張*/
    index = 0;
  }
  showRadius();
 var right;
 var imgLeft = imgShow.style.left;
 if(imgLeft === "-2000px") { /*當(dāng)是第5張時(shí),第1張的位置為0*/
 right = 0;
 }
 else{
 right = parseInt(imgLeft) - 500; /*由于left為負(fù)數(shù),每右移一張減500*/
 }
 imgShow.style.left = right + "px";
}

// 自動(dòng)輪播
/*var timer;
function autoPlay() {
 timer = setInterval(function() {
 var right;
 var imgLeft = imgShow.style.left;
 if(imgLeft === "-2000px") {
  right = 0;
 }
 else{
  right = parseInt(imgLeft) - 500;
 }
 imgShow.style.left = right + "px";
 } ,1000)
}
autoPlay();*/

for(var i = 0; i < dotLen; i++) {
  /*利用閉包傳遞索引*/
  (function(i) {
    dotList[i].onclick = function() {
     var dis = index - i; //當(dāng)前位置和點(diǎn)擊的距離
     imgShow.style.left = (parseInt(imgShow.style.left) + dis * 500) + "px";
     index = i; //顯示當(dāng)前位置的圓點(diǎn)
     showRadius();
   }
  })(i);
}

</script>

</body>
</html>

效果:按鈕左右滑動(dòng)圖片,圖片上的小圓點(diǎn)也可以選擇圖片。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js使用DOM設(shè)置單選按鈕、復(fù)選框及下拉菜單的方法

    js使用DOM設(shè)置單選按鈕、復(fù)選框及下拉菜單的方法

    這篇文章主要介紹了js使用DOM設(shè)置單選按鈕、復(fù)選框及下拉菜單的方法,較為詳細(xì)的分析了單選按鈕、復(fù)選框及下拉菜單的具體用法及實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • JavaScript插入動(dòng)態(tài)樣式實(shí)現(xiàn)代碼

    JavaScript插入動(dòng)態(tài)樣式實(shí)現(xiàn)代碼

    能夠把CSS樣式包含到HTML頁(yè)面中的元素有兩個(gè)。其中,<link>元素用于包含來(lái)自外部的文件,而<style>元素用于指定嵌入的樣式
    2012-02-02
  • javascript獲取元素文本內(nèi)容的通用函數(shù)

    javascript獲取元素文本內(nèi)容的通用函數(shù)

    獲取元素文本內(nèi)容的通用函數(shù),思路很好值得參考。
    2009-12-12
  • 詳解webpack性能優(yōu)化——DLL

    詳解webpack性能優(yōu)化——DLL

    本篇文章主要介紹了詳解webpack性能優(yōu)化——DLL,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • layui實(shí)現(xiàn)二維碼彈窗、并下載到本地的方法

    layui實(shí)現(xiàn)二維碼彈窗、并下載到本地的方法

    今天小編就為大家分享一篇layui實(shí)現(xiàn)二維碼彈窗、并下載到本地的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • Javascript將JSON日期格式化

    Javascript將JSON日期格式化

    在做項(xiàng)目中,將實(shí)體轉(zhuǎn)化為JSON后,結(jié)果后臺(tái)返回json時(shí)間格式為/Date(1306418993027)/,在前臺(tái)JS里顯示的并不是真正的日期,而且我們不能把所有日期字段都變成string吧,因此寫(xiě)了Javascript的擴(kuò)展方法,來(lái)實(shí)現(xiàn)這個(gè)功能,代碼如下
    2016-08-08
  • 用jmSlip編寫(xiě)移動(dòng)端頂部日歷選擇控件

    用jmSlip編寫(xiě)移動(dòng)端頂部日歷選擇控件

    這篇文章主要為大家詳細(xì)介紹了利用jmSlip編寫(xiě)移動(dòng)端頂部日歷選擇組件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • js怎么判斷flash swf文件是否加載完畢

    js怎么判斷flash swf文件是否加載完畢

    因?yàn)槲乙恢辈恢涝撛趺磁袛鄐wf文件是否加載完畢,于是想用js來(lái)實(shí)現(xiàn)這個(gè)功能,需要的朋友可以參考下
    2014-08-08
  • javascript利用鍵盤(pán)控制小方塊的移動(dòng)

    javascript利用鍵盤(pán)控制小方塊的移動(dòng)

    這篇文章主要為大家詳細(xì)介紹了javascript利用鍵盤(pán)控制小方塊的移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • JavaScript獲取數(shù)組最小值和最大值的方法

    JavaScript獲取數(shù)組最小值和最大值的方法

    這篇文章主要介紹了JavaScript獲取數(shù)組最小值和最大值的方法,涉及javascript中min與max方法的使用技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-06-06

最新評(píng)論