原生JS實(shí)現(xiàn)輪播圖效果
學(xué)習(xí)前端也有一小段時(shí)間了,當(dāng)初在學(xué)習(xí)javascript的時(shí)候,練手的一個(gè)輪播圖實(shí)例,輪播圖也是挺常見的了。
著是通過獲取圖片偏移量實(shí)現(xiàn)的,也實(shí)現(xiàn)了無縫切換,還有一點(diǎn)問題就是沒有加上圖片切換的時(shí)候的延遲了。
html:
<div id="container"> <div id="list" style="left: -600px;"> <img src="../image/1.jpg" alt="5"> <img src="../image/1.jpg" alt="1"> <img src="../image/2.jpg" alt="2"> <img src="../image/3.jpg" alt="3"> <img src="../image/4.jpg" alt="4"> <img src="../image/5.jpg" alt="5"> <img src="../image/1.jpg" alt="1"> </div> <div id="buttons"> <span class="on"></span> <span></span> <span></span> <span></span> <span></span> </div> <a href="javascript:;" id="prev" class="arrow"><</a> <a href="javascript:;" id="next" class="arrow">></a> </div>
js:
window.onload = function(){ //獲取元素 var container = document.getElementById('container'); var list = this.document.getElementById('list'); var buttons = document.getElementById('buttons').getElementsByTagName('span'); var prev = document.getElementById('prev'); var next = document.getElementById('next'); var index = 1;//默認(rèn)第一個(gè)小圓點(diǎn)亮 //小圓點(diǎn)的點(diǎn)亮 function showButton() { //遍歷小圓點(diǎn)的個(gè)數(shù),當(dāng)觸發(fā)onclick事件后,className為‘on'的變?yōu)椤?。 for(var i = 0;i < buttons.length; i++){ if(buttons[i].className == 'on'){ buttons[i].className = ''; break; } } buttons[index - 1].className = 'on'; //原始第一個(gè)小圓點(diǎn)點(diǎn)亮,onclick事件觸發(fā)后,index+1 } function animate (offset) { //獲取從第一張圖片開始發(fā)生的偏移量 var newLift = parseInt(list.style.left) + offset; list.style.left = newLift + 'px'; if(newLift > -600){ //如果偏移量的位置大于-600的時(shí)候,圖片跳轉(zhuǎn)到第五張圖片 list.style.left = -3000 + 'px'; } if(newLift < -3000){ //如果偏移量的位置大于-3000的時(shí)候,圖片跳轉(zhuǎn)到第一張圖片 list.style.left = -600 + 'px'; } } next.onclick = function () { //如果button的index為5的時(shí)候,再點(diǎn)擊next按鈕會(huì)返回 1; if(index == 5){ index = 1; }else{ index += 1; } showButton(); animate(-600); } prev.onclick = function () { if(index == 1){ index = 5; }else{ index -= 1; } showButton(); animate(600); } }
更多關(guān)于輪播圖效果的專題,請(qǐng)點(diǎn)擊下方鏈接查看學(xué)習(xí)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 原生js實(shí)現(xiàn)輪播圖的示例代碼
- js實(shí)現(xiàn)支持手機(jī)滑動(dòng)切換的輪播圖片效果實(shí)例
- js實(shí)現(xiàn)點(diǎn)擊左右按鈕輪播圖片效果實(shí)例
- JS實(shí)現(xiàn)左右無縫輪播圖代碼
- 基于vue.js輪播組件vue-awesome-swiper實(shí)現(xiàn)輪播圖
- zepto中使用swipe.js制作輪播圖附swipeUp,swipeDown不起效果問題
- 原生js實(shí)現(xiàn)無限循環(huán)輪播圖效果
- JS實(shí)現(xiàn)自動(dòng)輪播圖效果(自適應(yīng)屏幕寬度+手機(jī)觸屏滑動(dòng))
- 原生js實(shí)現(xiàn)移動(dòng)開發(fā)輪播圖、相冊(cè)滑動(dòng)特效
- 簡(jiǎn)單的JS輪播圖代碼
相關(guān)文章
淺談js停止事件冒泡 阻止瀏覽器的默認(rèn)行為(阻止超連接 #)
下面小編就為大家?guī)硪黄獪\談js停止事件冒泡 阻止瀏覽器的默認(rèn)行為(阻止超連接 #)。2017-02-02微信小程序?qū)崿F(xiàn)彈出層禁止頁面滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)彈出層禁止頁面滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07微信小程序分享卡片花樣玩法之私密消息和動(dòng)態(tài)消息
用戶可以發(fā)送小程序卡片給微信好友或者群,點(diǎn)擊小程序卡片可以直接進(jìn)入小程序,這篇文章主要給大家介紹了關(guān)于微信小程序分享卡片花樣玩法之私密消息和動(dòng)態(tài)消息的相關(guān)資料,需要的朋友可以參考下2023-11-11JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-05-05js 右鍵菜單,支持不同對(duì)象不同菜單(兼容IE、Firefox)
版本雖然很老也不符合標(biāo)準(zhǔn)了,不過代碼是值得參考的,需要右鍵菜單的朋友可以參考下。2010-01-01