中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

原生js實現輪播圖的實例分析

發布時間:2021-12-13 21:29:57 來源:億速云 閱讀:192 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關原生js實現輪播圖的實例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

輪播圖是前端最基本、最常見的功能,不論web端還是移動端,大平臺還是小網站,大多在首頁都會放一個輪播圖效果。下面講解怎么實現一個簡單的輪播圖效果。學習本教程之前,讀者需要具備html和css技能,同時需要有簡單的javascript基礎。

本實例效果如下圖所示:

原生js實現輪播圖的實例分析

 根據實例效果,需要的元素有圖片、中間圓點按鈕、左右箭頭按鈕等。實際html代碼如下所示:

<div class="banner_container" id="bannerContainer"> <div class="img_box"><!--圖片元素--> <div><img src="img/1.jpg" alt=""></div> <div><img src="img/2.jpg" alt=""></div> <div><img src="img/3.jpg" alt=""></div> <div><img src="img/4.jpg" alt=""></div> <div><img src="img/5.jpg" alt=""></div> </div> <ul class="sel_box"><!--選擇按鈕--> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <div class="left_btn btn"></div><!--左切換按鈕--> <div class="right_btn btn"></div><!--右切換按鈕--></div>


讀者可以根據實際效果自行編寫樣式。

接下來完成javascript部分的代碼,先分析一下輪播圖的效果所需要的步驟。

1. 獲取輪播圖各個html元素及聲明相關變量。如下所示:

//獲取外包容器 var eContainer = document.getElementById('bannerContainer'); //獲取圖片總容器 var eImgBox = eContainer.getElementsByClassName('img_box')[0]; //獲取圖片容器列表 var aImgList = eImgBox.getElementsByTagName('div'); //獲取選擇按鈕容器 var eSelBox = eContainer.getElementsByClassName('sel_box')[0]; //獲取選擇按鈕 var aSelList = eSelBox.getElementsByTagName('li'); //獲取左按鈕 var eLeftBtn = eContainer.getElementsByClassName('left_btn')[0]; //獲取右按鈕 var eRightBtn = eContainer.getElementsByClassName('right_btn')[0]; //當前圖片索引 var nIndex = 0; //輪播圖自動切換定時器 var timer = null;


2. 設置圖片容器大小及位置
一般輪播圖的數量不是固定的,可能是3個,也可能是5個,所以 “圖片容器的寬度=外包容器寬度 * 輪播圖數量”,代碼如下:

//獲取外包容器寬度 var nContainerW = eContainer.offsetWidth; //設置圖片總容器寬度 eImgBox.style.width = nContainerW * aImgList.length + 'px';


3. 設置默認顯示圖片及選擇按鈕,本實例第一張圖為默認圖片,代碼如下:

//默認顯示第一張圖片 eImgBox.style.left = '0px'; //默認第一個選擇按鈕設為當前選擇按鈕 aSelList[0].className = 'cur';


4. 給選擇按鈕綁定輪播圖切換事件,在這里把點擊事件委托給選擇按鈕

關于原生js實現輪播圖的實例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

长白| 时尚| 淳安县| 定安县| 孙吴县| 寿光市| 谷城县| 慈溪市| 江油市| 巴林左旗| 马龙县| 河源市| 巨鹿县| 汉中市| 赤水市| 承德县| 乐平市| 万州区| 富川| 左云县| 瑞昌市| 太湖县| 阳东县| 山阳县| 大理市| 小金县| 贺州市| 岳阳市| 林口县| 邢台县| 岗巴县| 新安县| 航空| 化州市| 安吉县| 塔城市| 临高县| 临清市| 镇沅| 滁州市| 华亭县|