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

首頁 > 編程 > JavaScript > 正文

jquery實現定時自動輪播特效

2019-11-20 11:02:43
字體:
來源:轉載
供稿:網友

這次的輪播圖是在上一篇文章jQuery手動點擊實現圖片輪播特效的基礎上寫出來的,也就是本次展示的是手動點擊輪播效果以及定時自動輪播效果的程序,建議想連貫學習的小伙伴把我之前的文章看一看,看完后再看這篇文章~~~~

下面來看看我做的最終定時自動輪播效果以及手動點擊輪播效果:

 

對于上面的展示動畫速度比較快的原因是因為我的截圖軟件是綠色版,免費的~~~你們懂得,就是卡卡的,真正的效果比這個速度慢,而且還是勻速,可以商用~~~所以上面的展示動畫只能當做完成效果的參考。
一、主體程序

<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>輪播圖①(手動點擊輪播)</title> <link type="text/css" rel="stylesheet" href="css/layout.css" /> </head> <body> <div class="slideShow">  <!--圖片布局開始-->  <ul>  <li><a href="#"><img src="img/picture01.jpg" /></a></li>  <li><a href="#"><img src="img/picture02.jpg" /></a></li>  <li><a href="#"><img src="img/picture03.jpg" /></a></li>  <li><a href="#"><img src="img/picture04.jpg" /></a></li>  </ul>  <!--圖片布局結束-->    <!--按鈕布局開始-->  <div class="showNav">  <span class="active">1</span>  <span>2</span>  <span>3</span>  <span>4</span>  </div>  <!--按鈕布局結束--> </div> <script src="js/jquery-1.11.3.js"></script> <script src="js/layout.js"></script> </body></html>

額,上面的主體程序和前一篇沒有區別,未做任何修改~~~~~感興趣的可以查看第一篇文章,我本次隨筆重點會在Jquery程序里面
二、CSS樣式

*{ margin: 0; padding: 0;}ul{ list-style: none;}.slideShow{ width: 346px; height: 210px; /*其實就是圖片的高度*/ border: 1px #eeeeee solid; margin: 100px auto; position: relative; overflow: hidden; /*此處需要將溢出框架的圖片部分隱藏*/}.slideShow ul{ width: 2000px; position: relative; /*此處需注意relative : 對象不可層疊,但將依據left,right,top,bottom等屬性在正常文檔流中偏移位置,如果沒有這個屬性,圖片將不可左右移動*/}.slideShow ul li{ float: left; /*讓四張圖片左浮動,形成并排的橫著布局,方便點擊按鈕時的左移動*/ width: 346px;}.slideShow .showNav{ /*用絕對定位給數字按鈕進行布局*/ position: absolute; right: 10px; bottom: 5px; text-align:center; font-size: 12px;  line-height: 20px;}.slideShow .showNav span{ cursor: pointer; display: block; float: left; width: 20px; height: 20px; background: #ff5a28; margin-left: 2px; color: #fff;}.slideShow .showNav .active{ background: #b63e1a;}

三、jQuery程序
首先說一下定時自動輪播的原理:
1、首先得開一個定時器,假設定時器的時間設置為2000ms,也就是2S定時器執行一次操作
2、定時器每隔2S執行的操作就是模擬按次序點擊數字按鈕,也就是觸發click事件,讓圖片左移
先來看大體效果實現的jQuery代碼一:      

 var timer=null; //定時器返回值,主要用于關閉定時器 var iNow=0; //iNow為正在展示的圖片索引值,當用戶打開網頁時首先顯示第一張圖,即索引值為0 timer=setInterval(function(){ //打開定時器  iNow++;    //讓圖片的索引值次序加1,這樣就可以實現順序輪播圖片  showNumber.eq(iNow).trigger("click"); //模擬觸發數字按鈕的click事件 },2000); //2000為輪播的時間

上面的程序可以實現每隔2S圖片的輪播效果,但是輪播到最后一張圖的時候會停止,因為沒有判斷iNow是否到達最后一張圖,所以有了下面的代碼二:  

var timer=null; //定時器返回值,主要用于關閉定時器 var iNow=0; //iNow為正在展示的圖片索引值,當用戶打開網頁時首先顯示第一張圖,即索引值為0 timer=setInterval(function(){ //打開定時器  iNow++;    //讓圖片的索引值次序加1,這樣就可以實現順序輪播圖片  if(iNow>showNumber.length-1){ //當到達最后一張圖的時候,讓iNow賦值為第一張圖的索引值,輪播效果跳轉到第一張圖重新開始  iNow=0;  }  showNumber.eq(iNow).trigger("click"); //模擬觸發數字按鈕的click },2000); //2000為輪播的時間

所以jQuery程序的完整代碼程序如下:

$(document).ready(function(){ var slideShow=$(".slideShow"), //獲取最外層框架的名稱 ul=slideShow.find("ul"),  showNumber=slideShow.find(".showNav span"),//獲取按鈕 oneWidth=slideShow.find("ul li").eq(0).width(); //獲取每個圖片的寬度 var timer=null; //定時器返回值,主要用于關閉定時器 var iNow=0; //iNow為正在展示的圖片索引值,當用戶打開網頁時首先顯示第一張圖,即索引值為0  showNumber.on("click",function(){  //為每個按鈕綁定一個點擊事件   $(this).addClass("active").siblings().removeClass("active"); //按鈕點擊時為這個按鈕添加高亮狀態,并且將其他按鈕高亮狀態去掉  var index=$(this).index(); //獲取哪個按鈕被點擊,也就是找到被點擊按鈕的索引值  ul.animate({  "left":-oneWidth*iNow, //注意此處用到left屬性,所以ul的樣式里面需要設置position: relative; 讓ul左移N個圖片大小的寬度,N根據被點擊的按鈕索引值index確定  }) });  timer=setInterval(function(){ //打開定時器  iNow++;    //讓圖片的索引值次序加1,這樣就可以實現順序輪播圖片  if(iNow>showNumber.length-1){ //當到達最后一張圖的時候,讓iNow賦值為第一張圖的索引值,輪播效果跳轉到第一張圖重新開始  iNow=0;  }  showNumber.eq(iNow).trigger("click"); //模擬觸發數字按鈕的click },2000); //2000為輪播的時間})

上面的注釋寫的很詳細了,主要是為了方便想學習的小伙伴看,但是實際上我寫程序不會注釋的那么詳細,都是很簡單的內容啦,看到這里你可能以為jQuery程序就完了,那就大錯特錯了,因為自動輪播效果是正確的,但是手動點擊時就會出錯,我特意做了一段Gif動畫展示出錯的效果:


看到上面的效果你就會忽然大悟,圖片自動輪播時,你就算點擊按鈕它也只是附和你一下,跳轉到你點擊的按鈕,但是僅僅持續一會還是按它輪播的次序,不理會你點擊的按鈕后應該走的輪播次序,至于原因嘛

是因為手動點擊時index的值未賦值給定時器的圖片索引iNow,這樣iNow就無法存儲你點擊的按鈕索引值,也就是不知道你點擊的哪個按鈕,既然知道了原因,那么下面就需要進行修改了。

修改完成后的jQuery程序最終版就是:

$(document).ready(function(){ var slideShow=$(".slideShow"), //獲取最外層框架的名稱 ul=slideShow.find("ul"),  showNumber=slideShow.find(".showNav span"),//獲取按鈕 oneWidth=slideShow.find("ul li").eq(0).width(); //獲取每個圖片的寬度 var timer=null; //定時器返回值,主要用于關閉定時器 var iNow=0; //iNow為正在展示的圖片索引值,當用戶打開網頁時首先顯示第一張圖,即索引值為0  showNumber.on("click",function(){  //為每個按鈕綁定一個點擊事件   $(this).addClass("active").siblings().removeClass("active"); //按鈕點擊時為這個按鈕添加高亮狀態,并且將其他按鈕高亮狀態去掉  var index=$(this).index(); //獲取哪個按鈕被點擊,也就是找到被點擊按鈕的索引值  iNow=index;  ul.animate({  "left":-oneWidth*iNow, //注意此處用到left屬性,所以ul的樣式里面需要設置position: relative; 讓ul左移N個圖片大小的寬度,N根據被點擊的按鈕索引值iNOWx確定  }) });  timer=setInterval(function(){ //打開定時器  iNow++;    //讓圖片的索引值次序加1,這樣就可以實現順序輪播圖片  if(iNow>showNumber.length-1){ //當到達最后一張圖的時候,讓iNow賦值為第一張圖的索引值,輪播效果跳轉到第一張圖重新開始  iNow=0;  }  showNumber.eq(iNow).trigger("click"); //模擬觸發數字按鈕的click },2000); //2000為輪播的時間})

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

以上就是本文的全部內容,下次就為大家分享鼠標懸浮在輪播圖上方時圖片停止輪播,鼠標移走后圖片接著進行輪播的代碼,不要走開。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品444| 伊人青青综合网站| 米奇精品一区二区三区在线观看| 成人免费看吃奶视频网站| 亚洲人成在线一二| 亚洲xxxxx性| 亚洲激情国产精品| 成人黄色大片在线免费观看| 国产成人aa精品一区在线播放| 2019国产精品自在线拍国产不卡| 欧美成人精品h版在线观看| 中文在线资源观看视频网站免费不卡| 国产精品久久不能| 欧美中文字幕在线视频| 久久99国产精品久久久久久久久| 97国产精品视频人人做人人爱| 国产成人+综合亚洲+天堂| 91精品国产自产91精品| 欧美极品少妇全裸体| 久久久这里只有精品视频| 日韩成人中文字幕在线观看| 国产午夜一区二区| 国产成人精品免高潮在线观看| 日韩免费av一区二区| 国产成人精品免费视频| 国产精品流白浆视频| 国产aⅴ夜夜欢一区二区三区| 91高清免费视频| 久久精品视频在线| 国产99久久精品一区二区 夜夜躁日日躁| 欧美性极品xxxx娇小| 日韩亚洲第一页| 日本精品久久久| 亚洲人精选亚洲人成在线| 亚洲成人久久一区| 久久久久女教师免费一区| 一本色道久久88精品综合| 尤物九九久久国产精品的特点| 尤物精品国产第一福利三区| 欧美日韩第一页| 午夜精品福利在线观看| 日韩一区二区精品视频| 日韩av网站电影| 亚洲精品一二区| 日韩视频在线观看免费| 国产成人精品一区二区| 亚洲自拍偷拍色片视频| 国产精品第七十二页| 久久影视电视剧免费网站| 日韩高清电影好看的电视剧电影| 亚洲精品国产精品国自产观看浪潮| 97超碰蝌蚪网人人做人人爽| 欧美极品美女电影一区| 亚洲成人黄色网| 国产69久久精品成人| 亚洲性av在线| 国自产精品手机在线观看视频| 日本成人黄色片| 日本精品一区二区三区在线播放视频| 亚洲精品免费一区二区三区| 国产精品视频在线观看| 亚洲免费电影在线观看| 日本久久久久亚洲中字幕| 成人亚洲综合色就1024| 亚洲wwwav| 亚洲视频欧美视频| 日韩美女免费线视频| 日韩在线中文视频| 欧美激情在线观看| 成人久久久久久| 欧美电影免费观看| 久久成年人免费电影| 精品一区二区电影| 欧美日韩在线影院| 成人欧美一区二区三区在线湿哒哒| 日韩www在线| 久久久久久国产精品三级玉女聊斋| 欧美另类99xxxxx| 91精品国产色综合| 国产精品久久久久久亚洲影视| 97国产精品久久| 日本成熟性欧美| 亚洲欧洲免费视频| 97视频国产在线| 97精品视频在线| 国产一区二区丝袜高跟鞋图片| 国产精品美女主播在线观看纯欲| 亚洲va国产va天堂va久久| 91精品国产高清久久久久久91| 国内精品中文字幕| 国产精品久久久久久久一区探花| 精品国产精品三级精品av网址| 久久久久中文字幕| 欧美怡红院视频一区二区三区| 国产精品久久久久91| 日韩精品视频中文在线观看| 在线视频日韩精品| 欧美精品www| 久久精品色欧美aⅴ一区二区| 亚洲黄色av女优在线观看| 成人在线精品视频| 成人精品视频久久久久| 亚洲成人网久久久| 综合久久五月天| 国产精品九九久久久久久久| 久久久久999| 97视频在线观看免费高清完整版在线观看| 91视频免费在线| 国产欧美精品在线| 国产精品99免视看9| 日韩精品在线观看一区| 成人av资源在线播放| 亚洲黄色在线看| 91精品国产91久久久久久不卡| 亚洲成色999久久网站| 在线成人中文字幕| 欧美电影在线观看高清| 国产91热爆ts人妖在线| 亚洲精品国产电影| 欧美成aaa人片在线观看蜜臀| 97视频免费在线观看| 亚洲欧洲在线视频| 亚洲精品动漫久久久久| 日本精品免费一区二区三区| 久久综合色88| 精品久久久999| 国产91ⅴ在线精品免费观看| 欧洲s码亚洲m码精品一区| 欧美激情手机在线视频| 亚洲国产精品成人av| 国产999在线观看| 亚洲电影免费观看高清完整版在线观看| 综合欧美国产视频二区| 91在线视频成人| 亚洲乱码国产乱码精品精| 一个人看的www欧美| 国产一区二区久久精品| 国产在线观看不卡| 欧美精品在线视频观看| 欧美一区三区三区高中清蜜桃| 国产99久久久欧美黑人| 亚洲精品国产精品国产自| 日韩av大片免费看| 成人国产在线视频| 97久久超碰福利国产精品…| 亚洲精品一区av在线播放| 国产精品视频公开费视频| 欧美性感美女h网站在线观看免费| 国产精品极品在线| 欧美xxxx18性欧美| 国产日韩一区在线| 人妖精品videosex性欧美| 国产亚洲精品久久久久久777| 激情久久av一区av二区av三区| 久久视频在线观看免费| 国产精品久久久久久久久久久久久久| 欧美肥臀大乳一区二区免费视频| 国产精品美女网站| 日本免费在线精品| 欧美午夜女人视频在线| 日韩黄色高清视频| 亚洲免费伊人电影在线观看av| 日韩在线免费视频观看| 日本一区二区不卡|