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

JS輪播圖的實現(xiàn)方法2

 更新時間:2020年08月25日 08:39:44   作者:hthththtt  
這篇文章主要為大家詳細(xì)介紹了JS輪播圖的具體實現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JS輪播圖的實現(xiàn)代碼,供大家參考,具體內(nèi)容如下

需求:

自動輪播,鼠標(biāo)移入輪播停止、移出繼續(xù),小圓點點擊切圖,左右箭頭切圖

效果圖:

![輪播圖]

思路:

將所有需要輪播的圖片橫向排列,可視區(qū)大小設(shè)置為只能顯示一張圖片,給容器設(shè)置移出隱藏后,可視區(qū)之外的部分被隱藏,這樣我們就只能看見一張圖片。
輪播實現(xiàn)是改變整個圖片畫幅的left值或者margin-left 值,當(dāng)點擊時移動整個畫幅單個圖片的寬度即可實現(xiàn)滾動到下一張。
后面功能實現(xiàn)順序依舊是寫法一里的思路。

戳!寫法一地址

HTML部分:

<div id="banner">
 <div class="w">
<!-- 左右箭頭-->
 <span class="iconfont icon-zuojiantou"></span>
 <span class="iconfont icon-youjiantou"></span>
<!-- 輪播圖-->
 <ul >
 <li><img src="img/1.jpg" alt=""></li>
 <li><img src="img/2.jpg" alt=""></li>
 <li><img src="img/3.jpg" alt=""></li>
 </ul>
<!-- /小圓點-->
 <ol id="circleContainer">

 </ol>
 </div>
</div>

CSS部分:

<style>
 *{
 margin: 0;
 padding: 0;
 list-style: none;
 }
 .w {
 width: 1000px;
 height: 600px;
 margin: 100px auto 0;
 position: relative;
 overflow: hidden;
 }
 ul {
 width: 1000%;
 transition: all .5s ease-in-out;
 }
 ul li {
 float: left;
 width: 1000px;
 }
 ul li img {
 width: 100%;
 height: 600px;
 }
 .iconfont {
 color: white;
 position: absolute;
 font-size: 30px;
 top: calc(50% - 15px);
 background-color: rgba(216, 216, 216, 0.23);
 border-top-right-radius: 50%;
 border-bottom-right-radius: 50%;
 cursor: pointer;
 }
 .iconfont:hover {
 color: palegreen;
 }
 .icon-zuojiantou {
 left: 0;
 }
 .icon-youjiantou {
 right: 0;
 }
 #circleContainer {
 position: absolute;
 bottom: 10px;
 left: calc(50% - 30px);
 }
 #circleContainer li {
 display: inline-block;
 width: 20px;
 height: 20px;
 border-radius: 50%;
 background-color: white;
 margin-right: 5px;
 }
 #circleContainer .change {
 background-color: palegreen;
 }
</style>

JS部分:

<script>
 let timer = setInterval(function () {
 arrow_r.onclick();
 },2000);
 let w = document.querySelector(".w");
 w.addEventListener("mouseenter",function () {
 clearInterval(timer);
 });
 w.addEventListener("mouseleave",function () {
 clearInterval(timer);
 timer = setInterval(function () {
 arrow_r.onclick();
 },2000);
 });
 //獲取元素
 let ul = document.querySelector("ul");
 let ol = document.querySelector("#circleContainer");
 let arrow_r = document.querySelector(".icon-youjiantou");
 let arrow_l = document.querySelector(".icon-zuojiantou");
 let ImgWidth = ul.children[0].offsetWidth;
 let location_i = 0 ;
 // 創(chuàng)建小圓點 動態(tài)生成小圓點,圖片增加時小圓點也隨之增加
 for (let i = 0; i<ul.children.length;i++){
 let li = document.createElement("li");
 li.setAttribute("index",i);
 li.addEventListener("click",function () {
 let index = this.getAttribute("index");
 move(ul,index);
 location_i = index ;
 });
 ol.appendChild(li);
 }

 let liclone = ul.children[0].cloneNode(true);
 ul.appendChild(liclone);
 // 輪播函數(shù)
 function move(targetObj,n) {
 if (n === targetObj.children.length ) {
 targetObj.style.marginLeft = "0px";
 n = 0;
 }
 targetObj.style.marginLeft = -n * ImgWidth +"px";
 for (let i =0 ;i<ol.children.length;i++){
 ol.children[i].className = "";
 }
 n === 3 ? ol.children[0].className = "change": ol.children[n].className = "change";

 }
 ol.children[0].className = "change";
 // 右箭頭點擊
 arrow_r.onclick = function () {
 if (location_i === 3) {
 location_i = 0 ;
 ul.style.marginLeft = "0px" ;
 }
 location_i++;
 move(ul,location_i);

 };
 // 左箭頭點擊
 arrow_l.addEventListener("click",function () {
 if (location_i == 0) {
 location_i = ul.children.length -1 ;
 }
 location_i--;
 move(ul,location_i);
 })
</script>

精彩專題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播

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

相關(guān)文章

  • javascript獲取select值的方法完整實例

    javascript獲取select值的方法完整實例

    這篇文章主要介紹了javascript獲取select值的方法,結(jié)合完整實例形式分析了javascript動態(tài)遍歷與操作頁面元素相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-06-06
  • JS的反射問題

    JS的反射問題

    兩個等號直接比較值,但是類型不能相互轉(zhuǎn)換的時候報錯
    2010-04-04
  • JS?簡單實現(xiàn)拖拽評星的示例代碼

    JS?簡單實現(xiàn)拖拽評星的示例代碼

    本文主要介紹了JS?簡單實現(xiàn)拖拽評星,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • JS實現(xiàn)的仿QQ空間圖片彈出效果代碼

    JS實現(xiàn)的仿QQ空間圖片彈出效果代碼

    這篇文章主要介紹了JS實現(xiàn)的仿QQ空間圖片彈出效果代碼,涉及JavaScript響應(yīng)鼠標(biāo)事件動態(tài)生成彈出層的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • js prototype深入理解及應(yīng)用實例分析

    js prototype深入理解及應(yīng)用實例分析

    這篇文章主要介紹了js prototype深入理解及應(yīng)用,結(jié)合實例形式分析了JavaScript prototype屬性功能、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • JavaScript call apply使用 JavaScript對象的方法綁定到DOM事件后this指向問題

    JavaScript call apply使用 JavaScript對象的方法綁定到DOM事件后this指向問題

    JavaScript對象與DOM對象進(jìn)行綁定會遇到一個問題:如果被綁定的對象的方法中包含this關(guān)鍵字,當(dāng)事件被觸發(fā)時this指向的卻是DOM對象,而不是之前的JS對象。
    2011-09-09
  • JS高階函數(shù)原理與用法實例分析

    JS高階函數(shù)原理與用法實例分析

    這篇文章主要介紹了JS高階函數(shù)原理與用法,結(jié)合實例形式分析了javascript函數(shù)式編程、一等函數(shù)、高階函數(shù)等相關(guān)概念、原理及使用技巧,需要的朋友可以參考下
    2019-01-01
  • 微信小程序?qū)崿F(xiàn)多選框全選操作

    微信小程序?qū)崿F(xiàn)多選框全選操作

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)多選框全選操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Javascript 原型和繼承(Prototypes and Inheritance)

    Javascript 原型和繼承(Prototypes and Inheritance)

    前面我們看到了如何使用 constructor 來初始化對象。如果這樣做,那么每一個創(chuàng)建的新對象都會對那些相同的屬性,方法建立一個獨立的副本。而實際上有更加有效的方法來指定方法,常量,以及其他一些可被所有該類的對象共享的屬性。
    2009-04-04
  • Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜式教程(一)

    Express實現(xiàn)前端后端通信上傳圖片之存儲數(shù)據(jù)庫(mysql)傻瓜式教程(一)

    這篇文章主要介紹了Express實現(xiàn)前端后端通信上傳圖片存儲數(shù)據(jù)庫(mysql)傻瓜式教程(一),需要的朋友可以參考下
    2015-12-12

最新評論