日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript實現(xiàn)簡單的輪播圖效果

瀏覽:82日期:2023-06-01 16:42:02
輪播圖是什么?

輪播圖:在一個模塊或者說窗口,通過電腦上鼠標(biāo)點(diǎn)擊、手機(jī)上手指滑動后,可以看到多張圖片。這些圖片就都是輪播圖,這個模塊就叫做輪播模塊。

如何實現(xiàn)輪播圖

如何才能在js里面做成一個輪播圖呢,比如下面這種的,可以自動生成圖片對應(yīng)的小圓點(diǎn)、點(diǎn)擊左右箭頭可以跳到上或下一張圖片、每隔幾秒自動輪播,還可以點(diǎn)擊小小圓點(diǎn)去到指定的圖片。

JavaScript實現(xiàn)簡單的輪播圖效果

HTML結(jié)構(gòu)

首先我們創(chuàng)建一個HTML頁面,這個結(jié)構(gòu)很簡單,用一個大的div嵌套兩個div,取個名字叫slider,上面的div用來裝圖片,取個名字叫slider-img,下面的div就是控件,用來裝上下張圖片的按鈕和小圓點(diǎn),這個就叫做slider-ctrl。

<!DOCTYPE html><html><head lang='en'> <meta charset='UTF-8'> <title></title> <link rel='stylesheet' href='http://m.b3g6.com/bcjs/css/index.css'/> <script src='http://m.b3g6.com/public.js'></script> <script src='http://m.b3g6.com/bcjs/js/index.js'></script></head><body> <div id='slider'><div class='slider-img'> <ul><li><a href='http://m.b3g6.com/bcjs/13959.html#'><img src='http://m.b3g6.com/bcjs/images/1.jpg' alt=''/></a></li><li><a href='http://m.b3g6.com/bcjs/13959.html#'><img src='http://m.b3g6.com/bcjs/images/2.jpg' alt=''/></a></li><li><a href='http://m.b3g6.com/bcjs/13959.html#'><img src='http://m.b3g6.com/bcjs/images/3.jpg' alt=''/></a></li><li><a href='http://m.b3g6.com/bcjs/13959.html#'><img src='http://m.b3g6.com/bcjs/images/4.jpg' alt=''/></a></li><li><a href='http://m.b3g6.com/bcjs/13959.html#'><img src='http://m.b3g6.com/bcjs/images/5.jpg' alt=''/></a></li><li><a href='http://m.b3g6.com/bcjs/13959.html#'><img src='http://m.b3g6.com/bcjs/images/6.jpg' alt=''/></a></li> </ul></div><div class='slider-ctrl'>//在這里自動生成小圓點(diǎn) <span id='prev'></span> <span id='next'></span></div> </div></body></html>

CSS代碼

css代碼非常簡單,略。

* { margin: 0; padding: 0;}.slider { width: 310px; height: 265px; margin: 100px auto; position: relative; overflow: hidden;}.slider-img { width: 310px; height: 220px;}ul { list-style: none;}li { position: absolute; top: 0; left: 0;}.slider-ctrl { text-align: center; padding-top: 10px;}.slider-ctrl-con { display: inline-block; width: 24px; height: 24px; background: url(../images/icon.png) no-repeat -24px -780px; text-indent: -99999px; margin: 0 5px; cursor: pointer;}.slider-ctrl-con.current { background-position: -24px -760px;}.prev,.next { position: absolute; top: 40%; width: 30px; height: 35px; background: url(../images/icon.png) no-repeat;}.prev { left: 10px;}.next { right: 10px; background-position: 0 -44px;}

js代碼

首先需要做一波需求分析,能夠理清思路,然后在來一步一步的寫代碼。我們先獲取相關(guān)的元素,然后根據(jù)圖片數(shù)量生成對應(yīng)的小圓點(diǎn),由于圖片是堆疊在一起的,我們把其他的圖都放到右邊隱藏起來,顯示第一張圖片即可。隨后需要點(diǎn)亮第一個小圓點(diǎn),保證小圓點(diǎn)和圖片是綁定在一起的。然后我們需要實現(xiàn)點(diǎn)擊右箭頭看到下一張圖,點(diǎn)擊左箭頭看到上一張圖,點(diǎn)擊小圓點(diǎn)可以顯示對應(yīng)的圖片,且都要點(diǎn)亮相對于的圖片。最后就是讓他自動輪播圖片,鼠標(biāo)移入時停止輪播,鼠標(biāo)移出時繼續(xù)輪播

window.onload = function(){ // 0 獲取相關(guān)元素 // 總?cè)萜? var slider = document.getElementById(’slider’); // 所有圖片li的集合 var imgLiS = slider.children[0].children[0].children; // 控制按鈕的容器 var ctrlDiv = slider.children[1]; // 左箭頭(上一張按鈕) var prev = document.getElementById(’prev’) // 右箭頭(下一張按鈕) var next = document.getElementById(’next’) // 容器的寬度 var width = slider.offsetWidth; // 用一個變量記錄當(dāng)前顯示的圖片的索引 var index = 0; // 1 根據(jù)圖片數(shù)量生成對應(yīng)的小圓點(diǎn) for(var i=imgLiS.length-1;i>=0;i--){var newPoint = document.createElement(’span’);// 給每個節(jié)點(diǎn)里面記錄他是第幾個節(jié)點(diǎn),方便后期點(diǎn)擊時候知道是第幾個newPoint.className = 'slider-ctrl-con';newPoint.innerHTML = i;// 放到最前面ctrlDiv.insertBefore(newPoint,ctrlDiv.children[0])// 2 所有的圖片都放到右邊imgLiS[i].style.left = width+'px' } // 2 輪播圖顯示第一幅圖 imgLiS[index].style.left = 0; // 獲取所有的小圓點(diǎn) var ctrlS = ctrlDiv.children; // 3 點(diǎn)亮第一個小圓點(diǎn) light() // 4 點(diǎn)擊左箭頭可以看前一幅圖,點(diǎn)亮對應(yīng)的小圓點(diǎn) prev.onclick = prevImg; // 5 點(diǎn)擊右箭頭可以看后一幅圖,點(diǎn)亮對應(yīng)的小圓點(diǎn) next.onclick = nextImg; // 6 點(diǎn)擊小圓點(diǎn),點(diǎn)亮這個小圓點(diǎn),并顯示對應(yīng)的圖片 for(var i=0;i<imgLiS.length;i++){ctrlS[i].onclick = function(){ var num = +this.innerHTML; if(num>index){// 我認(rèn)為后面的圖在右邊imgLiS[num].style.left = width+'px';// 當(dāng)前圖去左邊move(imgLiS[index],’left’,-width)// 我要看的圖去中間move(imgLiS[num],’left’,0) } if(num<index){// 我認(rèn)為前面的圖在左邊imgLiS[num].style.left = -width+'px';// 當(dāng)前圖去右邊move(imgLiS[index],’left’,width)// 我要看的圖去中間move(imgLiS[num],’left’,0) } // 更新index index = num; // 點(diǎn)亮小圓點(diǎn) light()} } // 7 可以自動輪播圖: 每隔3秒看下一張 var timer = setInterval(nextImg,3000) // 8 鼠標(biāo)移入停止輪播 slider.onmouseenter = function(){clearInterval(timer) } // 9 鼠標(biāo)移出繼續(xù)輪播 slider.onmouseleave = function(){clearInterval(timer)timer = setInterval(nextImg,3000) }// 由于點(diǎn)亮小圓點(diǎn)多次執(zhí)行,封裝成函數(shù) function light(){for(var i=0;i<imgLiS.length;i++){ ctrlS[i].className = 'slider-ctrl-con'}ctrlS[index].className = 'slider-ctrl-con current' } // 看上一張圖的函數(shù) function prevImg(){var num = index-1;if(num<0){ // 索引最小是0,如果要看的索引比0小,就是最后一張,也就是第length-1張 num = imgLiS.length-1;}// 我認(rèn)為前一張圖一定在左邊imgLiS[num].style.left = -width+'px';// 當(dāng)前圖片運(yùn)動到右邊move(imgLiS[index],’left’,width)// 要看的圖片運(yùn)動到中間move(imgLiS[num],’left’,0)// 運(yùn)動完成以后容器里面顯示的是num這個圖// 所以記錄當(dāng)前索引的index里面的值變成numindex = num;light() } // 看下一張圖的函數(shù) function nextImg(){var num = index + 1;if(num>imgLiS.length-1){ num = 0;}// 我認(rèn)為下一張一定在右邊imgLiS[num].style.left = width+'px';// 當(dāng)前圖片去左邊move(imgLiS[index],’left’,-width)// 我要看的下一張去中間move(imgLiS[num],’left’,0)// 更新index的值index = num;light() }}

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

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷中文字幕一区| 国产精品毛片一区二区三区| av一区二区高清| 久久只有精品| 久久国际精品| 国产亚洲高清一区| 国产精品大片免费观看| 国产精区一区二区| 国产福利亚洲| 久久99国产精品视频| 国产一区二区三区不卡视频网站 | 日韩在线欧美| 日本一区二区高清不卡| 午夜av不卡| 久久国产主播| 中文字幕日韩亚洲| 精品视频在线你懂得| 久久大逼视频| 蜜桃tv一区二区三区| 成人国产精品一区二区免费麻豆| 99热精品在线| 亚洲啊v在线| 国产在线观看www| 国产日韩欧美中文在线| 日韩专区精品| 国产字幕视频一区二区| 91成人精品| 在线亚洲成人| 免费观看在线综合色| 日本大胆欧美人术艺术动态| 亚洲综合小说| 国产精品天天看天天狠| av在线日韩| 久久精品主播| 韩日一区二区| 伊人成人在线视频| 蜜芽一区二区三区| 麻豆理论在线观看| 免费观看在线综合色| 成人一区不卡| 亚洲一区久久| 精品黄色一级片| 日韩高清在线一区| 欧美久久精品一级c片| 亚洲一区二区三区在线免费| 国产色噜噜噜91在线精品 | 日韩精品一二三| 狠狠久久婷婷| 青青草精品视频| 美女视频黄免费的久久| 久久av偷拍| 日韩精品乱码av一区二区| 国产精品嫩模av在线| 中文字幕乱码亚洲无线精品一区| 亚洲一区二区三区在线免费| 久久中文字幕一区二区三区| se01亚洲视频| 中文字幕日本一区| 国产在线观看91一区二区三区 | 黄页网站一区| 国产精品亲子伦av一区二区三区| 日韩在线观看不卡| 色老板在线视频一区二区| 国产手机视频一区二区 | 日本亚洲最大的色成网站www | 四虎4545www国产精品| 日韩精品久久久久久久软件91| av亚洲免费| 国产在线不卡| 欧美羞羞视频| 视频在线不卡免费观看| 青草av.久久免费一区| 女人av一区| 日韩黄色大片| 激情综合五月| 精品视频久久| 久久99精品久久久野外观看| 青青草视频一区| 日韩av三区| 日韩在线观看中文字幕| 免费欧美日韩| 在线精品亚洲| 美女精品在线| 亚洲午夜在线| 日韩一区二区久久| 免播放器亚洲| 日本不卡视频一二三区| 日日摸夜夜添夜夜添国产精品| 日韩免费精品| 国产伦理久久久久久妇女| 欧美一级全黄| 欧美一区二区三区久久精品| 中文字幕亚洲精品乱码| 日韩高清不卡在线| 久久a爱视频| 理论片午夜视频在线观看| 欧美黄色一区二区| 欧美日韩免费观看视频| 久久理论电影| 亚洲欧洲日韩精品在线| 久久精品伊人| 99久精品视频在线观看视频| 欧美亚洲国产激情| 亚州av日韩av| 热三久草你在线| 玖玖精品视频| 日韩欧美中文在线观看| 精品国产亚洲日本| 久久精品国产68国产精品亚洲| 99成人在线| 麻豆精品视频在线观看免费| 91嫩草亚洲精品| 欧美特黄一区| 国产欧美日韩| 国产精品美女久久久| 麻豆国产精品| 日韩三级视频| 神马午夜久久| 欧美亚洲一区二区三区| 国产综合欧美| 福利精品一区| 久久香蕉精品| 91亚洲国产| 日本欧美一区| 一本色道精品久久一区二区三区| 91亚洲国产| 国产毛片久久久| 视频一区视频二区在线观看| 捆绑调教日本一区二区三区| 日韩1区2区3区| 91精品高清| 欧美成a人免费观看久久| 国产精品va| 日本aⅴ亚洲精品中文乱码| 丝袜脚交一区二区| 狠狠爱成人网| 精品一区二区三区亚洲| 亚洲一二三区视频| 老鸭窝亚洲一区二区三区| 99亚洲视频| av不卡在线| 欧美日韩精品免费观看视频完整| 桃色一区二区| 中文字幕系列一区| 欧美综合另类| 婷婷中文字幕一区| 91精品国产91久久久久久黑人| а√天堂8资源中文在线| 精品国产乱码久久久久久樱花| 欧美日韩一区二区三区在线电影| 日韩制服丝袜av| 999久久久亚洲| 午夜精品一区二区三区国产| 欧美亚洲国产精品久久| 免费av一区二区三区四区| 婷婷久久一区| 日韩中文字幕一区二区三区| 亚洲一区欧美| 欧美久久香蕉| 国产精品多人| 久久国产免费| av成人国产| 久久国产乱子精品免费女| 欧美1区二区| 亚洲成人精品| 亚洲精品动态| 久久99久久久精品欧美| 日韩毛片视频| 久久伦理在线| 亚洲综合二区| 久久av影院| 欧美精品一区二区久久| 日韩福利视频网| av资源中文在线天堂| 亚洲少妇诱惑| 免费日韩一区二区三区| 久久精品亚洲人成影院| 日韩视频一二区| 精品久久99| 日韩在线一二三区| 国产a久久精品一区二区三区| 91精品国产91久久久久久黑人| 日韩毛片网站| 精品国产第一福利网站| 丝袜美腿一区二区三区| 欧美99久久| 中文久久精品| 亚洲免费福利一区| 日韩高清电影一区| 精品国产欧美日韩| 日本韩国欧美超级黄在线观看| 久久精品影视| 日韩精品一二三| 国产精品2区| 92国产精品| 在线视频日韩| 一区二区精彩视频| 精品亚洲自拍| 久久精品国产99久久| 亚洲综合图色|