亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

詳解JavaScript實現動態的輪播圖效果

2024-05-06 16:50:23
字體:
來源:轉載
供稿:網友

利用javascript能實現常見的動態的網頁輪播圖效果,如下圖1所示:

JavaScript,輪播圖

圖1

實現該輪播圖有以下幾個要點:

(1)在左右兩側各有一個箭頭,分別指的是向左和向右切換,即點擊相應的位置就會切換到該圖片之前(或之后)的一張圖片

(2)在圖片的下方有一排圓形按鈕,每個按鈕有各自的單擊事件,點擊任意一個按鈕就切換到對應的圖片

(3)不點擊圖片時,圖片會自動播放,即有一個圖片輪播效果

首先可以寫出大概的HTML代碼為代碼1:

代碼1:

<div id="container"><div id="list" style="left: -600px;"> //設置圖像的父級元素定位為向左600px,即是左移一個圖片的寬度<img src="images/16.jpg" 藍色代碼表示的圖片是相同的。這是因為每張圖片都有向前和向后兩種單擊<img src="images/13.jpg" 事件,要使第一張圖片向前單擊顯示第五張圖片,就需要在其前方添加第五<img src="images/14.jpg" 張圖片,避免在第一張圖片單擊向左時顯示空白;同理,在第五張圖片之<img src="images/15.jpg" 后也要添加第一張圖片,使其實現平穩過渡<img src="images/16.jpg" style="margin: 0px; padding: 0px; outline: none; line-height: 25.2px; font-size: 14px; width: 660px; overflow: hidden; clear: both; font-family: tahoma, arial, "Microsoft YaHei";">	
*{margin: 0;padding: 0;text-decoration: none;} //設置所有元素的基本樣式body{padding: 20px;}#container{position: relative; //設置最外層的div元素的定位為相對定位,即是相對與未設置定位之前的位置進行定位width: 600px;height: 400px;border: 3px solid #333;overflow: hidden; //設置容器的寬高,并將溢出部分設置為隱藏}#list{position: absolute; //設置圖片所在的父級div的定位為絕對定位,即是相對于已定位的父級元素進行定位z-index: 1; //設置該div的顯示層次width: 4200px; //該div是所有圖片的父級元素,因此其寬高的設置應該包含所有的圖片height: 400px;}#list img{float: left; //設置圖片的顯示的顯示方式,為向左浮動width: 600px;height: 400px;}#buttons{position: absolute; //設置屏幕下方的所有圓點的定位方式,相對于容器元素進行絕對定位left: 250px; //距離父級已進行定位的元素的左側距離為250pxbottom: 20px;z-index: 2; //設置圓點的顯示層級為2,即是在圖片div的上方height: 10px;width: 100px;}#buttons span{float: left;margin-right: 5px;width: 10px;height: 10px;border: 1px solid #fff;border-radius: 50%; //半徑為50%,即是設置為圓點顯示background: #333;cursor: pointer;}#buttons .on{background: orangered;}.arrow{position: absolute; //設置按鈕的定位方式,即是相對與容器元素進行絕對定位top: 180px;z-index: 2;display: none;width: 40px;height: 40px;font-size: 36px;font-weight: bold;line-height: 39px;text-align: center;color: #fff;background-color: rgba(0,0,0,.3);cursor: pointer;}.arrow:hover{background-color: rgba(0,0,0,.7);}#container:hover .arrow{display: block;}#prev{left: 20px;}#next{right: 20px;}*/

設置完基本的樣式之后,其顯示效果如圖2所示:

JavaScript,輪播圖

圖2

此時需要給特定的元素添加事件,如下列的代碼3所示:

代碼3:

window.onload=function(){var list=document.getElementById('list'); //獲取圖片元素的父級元素,并命名為listvar prev=document.getElementById('prev'); //獲取左箭頭var next=document.getElementById('next'); //獲取右箭頭function animate(offset){ //設置一個名為animate的函數,該函數接收一個參數var newleft=parseInt(list.style.left)+offset; //獲取圖片的父級元素的左側的定位值,并加上傳入的參數offsetif(newleft<-3000){ //圖片的父級div在移動的過程中,顯示的圖片的定位都是負值,如圖3所示list.style.left= -600+'px'; //但圖片顯示到五張圖片上的最后一張時,自動跳轉到第一張圖片}else if(newleft>-600){ //當在第一張圖片上單擊向左的按鈕時,自動跳轉到最后一張list.style.left= -3000+'px';}else{list.style.left=newleft+'px';}}

 函數animate()中獲取的是style.left,是相對左邊獲取距離,所以第一張圖后style.left都為負值,如圖3所示:

JavaScript,輪播圖

圖3

結合上述的代碼3,我們可設置向左和向右的按鈕的單擊事件,如代碼4所示:

代碼4:

prev.onclick=function(){ //向左的單擊事件animate(600);}next.onclick=function(){ //向右的單擊事件animate(-600)}var timer;function play(){timer=setInterval(function(){ //設置間歇調用,時間間隔為1500毫秒next.onclick() //此處是自動向右切換,如果想設置為向左切換,把next換為prev即可},1500)}play(); //實現自動調用var container=document.getElementById('container'); //獲取最外層的容器元素function stop(){ clearInterval(timer);}container.onmouseover=stop; //當鼠標移動到上方時,清除定時器container.onmouseout=play; //當鼠標從容器元素上方移走時,進行自動輪播var buttons=document.getElementById('buttons').getElementsByTagName('span');var index=1;function buttonsShow(){for(var i=0;i<buttons.length;i++){if(buttons[i].className=='on'){ //如果某個span設置了class='on',那么就將其的class屬性設置為空buttons[i].className='';}}//數組從0開始,故index需要-1buttons[index-1].className='on'; //設置下一個span的class屬性值為'on',即是高亮顯示}prev.onclick=function(){index-=1;if(index<1){index=5;}buttonsShow();animate(600);}next.onclick=function(){//由于上面定時器的作用,index會一直遞增下去,而元圓點只有5個,因此需要先做出判斷index+=1;if(index>5){index=1;}buttonsShow();animate(-600);}//點擊任意一個小圓點就切換到所對應的圖片for(var i=0;i<buttons.length;i++){(function(i){ //使用立即執行函數buttons[i].onclick=function(){var clickIndex=parseInt(this.getAttribute('index'));var offset=600*(index-clickIndex);animate(offset); //存放鼠標點擊之后的位置,用于小圓點的正常顯示index=clickIndex;buttonsShow();}})(i) } }

以上所述是小編給大家介紹的JavaScript實現動態的輪播圖效果詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久黄色av| 国产97人人超碰caoprom| 伊人久久久久久久久久| 亚洲国产一区二区三区在线观看| 91精品久久久久久久久久另类| 91精品国产乱码久久久久久久久| 亚洲小视频在线观看| 91精品国产91| 成人动漫网站在线观看| 国产成人精品综合久久久| 日本久久久久亚洲中字幕| 亚洲最新中文字幕| 日韩国产在线播放| 色悠悠国产精品| 91社影院在线观看| 欧美亚洲成人精品| 菠萝蜜影院一区二区免费| 亚洲精选在线观看| 久久久久久18| 91成人国产在线观看| 亚洲二区中文字幕| 精品国产一区二区三区久久久狼| 啪一啪鲁一鲁2019在线视频| 一区二区国产精品视频| 欧美日韩在线观看视频小说| 国产精品久久久久久久久久久久久| 日韩在线欧美在线国产在线| 伊人久久综合97精品| 亚洲韩国青草视频| 久久久久久国产精品| 亚洲国产精品成人va在线观看| 成人免费视频a| 久操成人在线视频| 久久九九有精品国产23| 亚洲美腿欧美激情另类| 欧美一区二区三区……| 在线中文字幕日韩| 91成人在线观看国产| 色妞欧美日韩在线| 欧美日韩另类字幕中文| 成人免费淫片aa视频免费| 国产精品观看在线亚洲人成网| 4438全国亚洲精品在线观看视频| 日韩大胆人体377p| 国产成人精品综合| www.日韩免费| 97视频在线观看网址| 日本精品视频网站| 欧美乱大交xxxxx| 中文字幕一区二区三区电影| 26uuu久久噜噜噜噜| 亚洲免费视频在线观看| 91精品一区二区| 成人黄色免费在线观看| 国产精品美女免费| 国产精品99久久久久久人| 久久久精品久久久久| 亚洲色图av在线| 国产精品白丝jk喷水视频一区| 91精品视频在线免费观看| 91精品久久久久久久久| 久久久视频精品| 日韩在线播放一区| 午夜精品www| xxxxxxxxx欧美| 欧美午夜www高清视频| 久久999免费视频| 欧美视频在线观看免费| 国产免费成人av| 日韩欧美国产黄色| 国产视频欧美视频| 久久久久五月天| 国产suv精品一区二区三区88区| 欧美性xxxx极品高清hd直播| 久久精品国产久精国产一老狼| 亚洲毛茸茸少妇高潮呻吟| 精品久久香蕉国产线看观看gif| 欧美一级电影久久| 一区二区三区国产在线观看| 91免费看国产| 亚洲第一福利网站| 国产伦精品一区二区三区精品视频| 亚洲欧洲国产一区| 91情侣偷在线精品国产| 一区二区三区www| 亚洲天堂成人在线视频| 欧美亚洲国产视频小说| 成人国产精品免费视频| 久久久在线免费观看| 久久精品国产一区二区三区| 亚洲国产精品字幕| 高清一区二区三区日本久| 欧美激情精品久久久久久变态| 亚洲剧情一区二区| 欧美电影在线播放| 亚洲国产福利在线| 久久久久久com| 中文字幕av一区| 午夜精品国产精品大乳美女| 亚洲精品日韩激情在线电影| 色噜噜久久综合伊人一本| 草民午夜欧美限制a级福利片| 性色av一区二区三区| 91精品国产精品| 5252色成人免费视频| 日韩精品在线观看一区| 久久久欧美一区二区| 亚洲欧美999| 最近中文字幕mv在线一区二区三区四区| 日韩亚洲第一页| 91高清在线免费观看| 国产日韩欧美在线播放| 国产精品久久久久久久电影| 午夜精品一区二区三区在线| 人体精品一二三区| 日本精品中文字幕| 亚洲精品自拍偷拍| 国产精品h片在线播放| 亚洲成人av片| 欧美性生交大片免费| 欧美激情久久久久久| 亚洲一区二区中文字幕| 日韩大陆欧美高清视频区| 亚洲精品综合精品自拍| 精品日韩美女的视频高清| 色妞一区二区三区| 国产黑人绿帽在线第一区| 国产亚洲一区二区在线| 国产日韩欧美日韩大片| 国产精品99久久久久久白浆小说| 成人高清视频观看www| 搡老女人一区二区三区视频tv| 国产精品久久婷婷六月丁香| 日本一区二区三区在线播放| 日本午夜人人精品| 日韩午夜在线视频| 欧美专区日韩视频| 国产一区二区av| 欧美激情视频一区二区三区不卡| 中文字幕精品www乱入免费视频| 久久精品国产久精国产思思| 奇米四色中文综合久久| 亚洲电影免费观看高清完整版在线观看| 久久精品视频99| 2019中文字幕在线观看| 欧美大片免费看| 黑人狂躁日本妞一区二区三区| 久久视频中文字幕| 久久久久久噜噜噜久久久精品| 国产精品尤物福利片在线观看| 91免费视频网站| 2019中文字幕在线免费观看| 中文字幕日韩在线视频| 亚洲欧美在线x视频| 精品国产视频在线| 欧美性资源免费| 亚洲欧美国产高清va在线播| 欧美激情精品久久久久久蜜臀| 久久精品国产一区二区电影| 国产98色在线| 91精品国产99| 欧美男插女视频| 欧美国产日韩一区二区在线观看| 91亚洲精品久久久久久久久久久久|