91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么使用jQuery實現優酷首頁輪播圖

發布時間:2022-03-31 10:43:09 來源:億速云 閱讀:126 作者:iii 欄目:開發技術

這篇文章主要講解了“怎么使用jQuery實現優酷首頁輪播圖”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用jQuery實現優酷首頁輪播圖”吧!

思路

思路其實非常簡單,就是當點擊圖片下面的圓點或者圖片兩邊的箭頭時,讓想要看到的圖片走到它的位置,然后當前的圖片和想要看到的圖片按照一個方向運動就可以了

例如:我們點擊第五個小圓點,讓第五個圖片跑到當前圖片的后面,然后一起向左運動

怎么使用jQuery實現優酷首頁輪播圖

當然了,如果你想要看前面的圖片,讓圖片先跑到當前圖片的左邊,然后和當前圖片一起向右運動

基本結構與樣式

<div class="lunbo">
 <div class="picture">
  <ul>
  <li><img src="img/1.jpg"></li>
  <li><img src="img/2.jpg"></li>
  <li><img src="img/3.jpg"></li>
  <li><img src="img/4.jpg"></li>
  <li><img src="img/5.jpg"></li>
  </ul>
 </div>
 <ul class="btn">
  <li id="active"><div></div></li>
  <li><div></div></li>
  <li><div></div></li>
  <li><div></div></li>
  <li><div></div></li>
 </ul>
 <div id="left"><img src="img/left.png"></div>
 <div id="right"><img src="img/right.png"></div>
 </div>
*{
 margin: 0;
 padding: 0;
}
.lunbo{
 width: 100%;
 height: 410px;
 position: relative;
 text-align: center;

}
.picture{
 width: 1190px;
 height: 480px;
 position: absolute;
 top: 0;
 left: 88px;
 overflow: hidden;
}
.picture li{
 width: 1190px;
 height: 410px;
 margin: 0 auto;
 list-style-type: none;
 margin-top: 70px;
 position: absolute;
 overflow: hidden;
 top: ;
 left: ;
}
.picture img{
 cursor: pointer;
}
.btn{
 display: block;
 width: 150px;
 height: 30px;
 position: absolute;
 top: 460px;
 left: 130px;
}
.btn li{
 display: block;
 width: 10px;
 height: 10px;
 background-color:white;
 list-style-type: none;
 position: absolute;
 top: 0px;
 left: 0px;
 border-radius: 10px;
 cursor: pointer;
}
#active{
 background-color: #03A9F4;
}
.btn li:hover{
 background-color:#9e9e9e;
}
#left{
 position: absolute;
 top: 240px;
 left: 90px;
 cursor: pointer;
}
#right{
 position: absolute;
 top: 240px;
 left: 1220px;
 cursor: pointer;
}

然后我們用jQuery來設置初始圖片的位置和小圓點的位置

function setCirPos(){
 // 設置圓點的位置
 $cir.each(function(){
  $(this).css({
  left:$(this).index()*25 + 500
  })
 });
 // 設置剛開始不顯示的圖片的位置
 $pic.slice(1).each(function(){
  $(this).css({
  left:$picW
  })
 })
 }

自動輪播

先來看看定義的全局變量

var $cir = $('.btn li');
 var $pic = $('.picture li');
 var $picW = $pic.width();
 var $oLeft = $('#left');
 var $oRight = $('#right');
 // 當前圖片
 var nowPic = 0;
 // 防止用戶連續的點擊
 var canClick = true;
 // 定時器
 var timer = null;

設置nowPic是為了記錄當前顯示的圖片,因為這個輪播圖一共有三種觸發圖片切換的方法,所以這個變量是三個方法要共享的

設置canClick變量是為了防止用戶在圖片切換動畫效果還未完成的時候在進行點擊

// 設置定時器自動切換
 timer = setInterval(function(){
 auto();
 },2000);
 //自動切換 
 function auto(){
 var index = nowPic + 1;
 if(index < 0){
  index = 4;
 }else if(index > 4){
  index = 0;
 }
 $pic.eq(index).css('left',$picW);
 $pic.eq(nowPic).animate({left:-$picW}, 400);
 $pic.eq(index).animate({left:0}, 400);
 nowPic = index;
 // 設置當前圖片的圓點的樣式
 $cir.eq(nowPic).attr('id','active').siblings().attr('id','');
 }

點擊小圓點

圖片切換的方法都是一樣的但是要注意,當點擊小圓點時要清楚圖片自動切換的定時器,在圖片切換完成后,在設置自動切換的定時器

function lunbo(){
 $cir.click(function(){
  clearInterval(timer);
  var index = $(this).index();
  if(index > nowPic){
  // 點擊的值大于當前的值
  $pic.eq(index).css('left',$picW);
  $pic.eq(nowPic).animate({left:-$picW},400);
  }else if(index < nowPic){
  // 點擊的值小于當前的值
  $pic.eq(index).css('left',-$picW);
  $pic.eq(nowPic).animate({left:$picW},400);
  }
  $pic.eq(index).animate({left:0},400,function(){
  timer = setInterval(function(){
   auto();
  },3000);
  });
  nowPic = index;
  // 設置當前圖片的圓點的樣式
  $cir.eq(nowPic).attr('id','active').siblings().attr('id','');
 });
 }

點擊箭頭

當點擊箭頭時,我們為了防止用戶多次連續的點擊,所以設置了canClick這個全局變量,當點擊了箭頭時,要首先判斷是否有為完成的動畫即canClick是否為true,如果為true,就將canCilck設置為false,防止再次點擊箭頭,然后進行圖片切換的動畫,同樣不要忘了清楚定時器,最后當切換圖片的動畫完成時,animate()方法的回調函數執行,將canClick設置為true

// 點擊左箭頭
 $oLeft.click(function(){
 if(canClick){
  clearInterval(timer);
  canClick = false;
  var index = nowPic - 1;
  if(index < 0){
  index = 4;
  }else if(index > 4){
  index = 0;
  }
  $pic.eq(index).css('left',-$picW);
  $pic.eq(nowPic).animate({left:$picW}, 400);
  $pic.eq(index).animate({left:0}, 400,function(){
  canClick = true;
  timer = setInterval(function(){
   auto();
  },3000);
  });
  nowPic = index;
  // 設置當前圖片的圓點的樣式
  $cir.eq(nowPic).attr('id','active').siblings().attr('id','');
 }
 })
// 點擊右箭頭
 $oRight.click(function(){
 if(canClick){
  clearInterval(timer);
  canClick = false;
  var index = nowPic + 1;
  if(index < 0){
  index = 4;
  }else if(index > 4){
  index = 0;
  }
  $pic.eq(index).css('left',$picW);
  $pic.eq(nowPic).animate({left:-$picW}, 400);
  $pic.eq(index).animate({left:0}, 400,function(){
  canClick = true;
  timer = setInterval(function(){
   auto();
  },3000);
  });
  nowPic = index;
  // 設置當前圖片的圓點的樣式
  $cir.eq(nowPic).attr('id','active').siblings().attr('id','');
 }
 })

感謝各位的閱讀,以上就是“怎么使用jQuery實現優酷首頁輪播圖”的內容了,經過本文的學習后,相信大家對怎么使用jQuery實現優酷首頁輪播圖這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

墨玉县| 成都市| 凤凰县| 临澧县| 湟中县| 金坛市| 乌拉特后旗| 永定县| 石棉县| 龙川县| 合阳县| 巍山| 鄂托克旗| 历史| 白山市| 临漳县| 盐山县| 红原县| 象山县| 运城市| 梧州市| 合水县| 新丰县| 宜丰县| 宜城市| 通江县| 汉源县| 新邵县| 宝丰县| 弋阳县| 漯河市| 扶沟县| 雷州市| 濮阳县| 汉川市| 平塘县| 南通市| 周宁县| 兴和县| 五原县| 五指山市|