jQuery怎么實(shí)現(xiàn)圖片切換動(dòng)畫(huà)效果

今天小編給大家分享一下jQuery怎么實(shí)現(xiàn)圖片切換動(dòng)畫(huà)效果的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)南縣,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792

效果圖:

jQuery怎么實(shí)現(xiàn)圖片切換動(dòng)畫(huà)效果

直接上代碼:

////// 
// 2017-2-27 // 
////// 
$(function(){ 
 var num = 0; 
 var divStr = '#imageShowSmallAnchor'; // 移動(dòng) div 
 var s  = 300; 
 $('.imgNum').click(function(){ 
  var _this  = $(this); 
  var status = _this.attr('data-status'); 
  var total_num = _this.parent().find('ul li').length; 
  var numSPic = 4;//最多顯示的小圖的個(gè)數(shù) 
  var src; 
   
   
  if(status == 'left'){ 
   if(num <= 0){ 
    num = total_num-1; 
   }else{ 
    num--; 
   } 
  }else{ 
   if(num >= total_num-1){ 
    num = 0; 
   }else{ 
    num++; 
   } 
  } 
  // 4 一次做多顯示四張小圖 $("#div").stop(false, true);//讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài) ,繼續(xù)下一個(gè)動(dòng)畫(huà) 
  // 第一種情況 當(dāng)小圖數(shù)量小于5時(shí), 直接進(jìn)行右移。 
  if (total_num <= numSPic) {$(divStr).stop(true,false).animate( 
   {left:num*106+39+"px"},s); 
  } else{ 
   //////// 
   // 圖片左移 // 
   //////// 
   if (status == 'left') { 
    if (num < total_num - numSPic) { 
     _this.parent().find('ul li').eq(num).show(); 
    } else{ 
     // 特殊情況 左移時(shí),從第一張圖切換到最后一張圖時(shí) 
     // if判斷 當(dāng)前是否顯示最后張圖,如果不是最后一張圖 則當(dāng)變成右移時(shí),無(wú)需刷新小圖的顯示狀態(tài)。 
     // 左移時(shí),需要將李 全部隱藏后, 再將最后的 numSPice 張圖顯示出來(lái), 
     if (num == total_num - 1) { 
      _this.parent().find('ul li').hide(); 
      for (var x = total_num-1; x >= total_num - numSPic; x--) { 
       _this.parent().find('ul li').eq(x).show(); 
      } 
     } 
    } 
   } else{ 
    //////// 
    // 圖片右移 // 
    //////// 
    if (num >= numSPic) { 
     _this.parent().find('ul li').eq(num-numSPic).hide(); 
    } else{ 
     // 特殊情況 右移時(shí),從最后一張圖切換到第一張圖時(shí) 
     // 判斷 是否是第一張圖, 如果不是則再變成左移時(shí),無(wú)需刷新小圖的顯示狀態(tài) 
     if (num == 0) { 
      for (var x = 0; x < numSPic; x ++) { 
       _this.parent().find('ul li').eq(x).show(); 
      } 
     } 
    } 
   } 
   // 快速點(diǎn)擊切換時(shí)嗎,動(dòng)畫(huà)出現(xiàn)滯后和反復(fù)問(wèn)題, 
   // 讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài) ,繼續(xù)下一個(gè)動(dòng)畫(huà) $('#div').stop(false, ture); $('#div').stop().animate(); 集合使用效果更佳。 
   $(divStr).stop(false, true); 
   //////// 
   // 樣式左移 // 
   //////// 
   if (status == 'left') { 
    // 39 定位divStr 的left距離 父級(jí)元素的像素距離 
    // 等樣式移動(dòng)到最右邊時(shí),樣式位置固定 
    // $(divStr).position().left 獲取定位元素 left值。 
    if ($(divStr).position().left <= 39 ) { 
     $(divStr).stop().animate({left:"39px"}); 
     // 當(dāng)從第一張切換到最后一張時(shí),樣式應(yīng)在最右邊。 
     if (num==total_num-1) { 
      $(divStr).stop().animate({left:3 * 106 + 39 + "px"},s); 
     } 
    } else{ 
     $(divStr).stop().animate({left:"-=106px"},s); 
    } 
   } else{ 
    //////// 
    // 樣式右移 // 
    //////// 
    if ($(divStr).position().left >= 357) { 
     $(divStr).stop().animate({left:"357px"}); 
     // 當(dāng)從最后一張切換到第一張時(shí),樣式應(yīng)在最左邊。 
     if (num==0) { 
      $(divStr).stop().animate({left:"39px"},s); 
     } 
    } else{ 
     $(divStr).stop().animate({left:"+=106px"},s); 
    } 
   } 
  } 
  src = _this.parent().find('ul li').eq(num).find('img').attr('src'); 
  _this.parents('.xq-imgSW').find('.imgSW-top li img').attr('src',src); 
 }); 
  
 // 點(diǎn)擊小圖切換 大圖 和小圖上的樣式。 
 $('.imgSW-bt li').click(function(){ 
  var _this = $(this); 
  var src; 
  num = _this.index(); 
  // parseInt(10/3); 整除 
  // 獲取點(diǎn)擊的位置,來(lái)計(jì)算 樣式的位置。 
  var X = parseInt(_this.position().left/106); 
 
  $(divStr).stop().animate({left:X*106+39+"px"},s); 
  src = _this.find('img').attr('src'); 
  _this.parents('.xq-imgSW').find('.imgSW-top li img').attr('src',src); 
 }); 
});

HTML 界面代碼:

<div class="xq-imgSW"> 
  <div class="imgSW-top"> 
   <ul> 
    <li><img src="images/xq-img1.png" alt=""></li> 
   </ul> 
  </div> 
  <div class="clear"></div> 
  <div class="imgSW-bt"> 
   <input class="imgSW-zuo imgNum" type="button" data-status="left"> 
   <div id="imageShowSmallAnchor"></div> 
   <ul> 
    <li class="imgSW-xz"><img class="imgex" src="images/xq-img-s1.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型1</div> 
    </li> 
     
    <li><img src="images/xq-img-s2.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型2</div> 
    </li> 
    <li><img src="images/xq-img-s3.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型3</div> 
    </li> 
    <li><img src="images/xq-img-s4.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型4</div> 
    </li> 
    <li><img src="images/xq-img-s4.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型5</div> 
    </li> 
    <li><img src="images/xq-img-s4.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型6</div> 
    </li> 
    <li><img src="images/xq-img-s4.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型7</div> 
    </li> 
    <li><img src="images/xq-img-s4.png"  alt=""> 
     <div class="imgSW-bot">戶(hù)型8</div> 
    </li> 
   </ul> 
   <input class="imgSW-you imgNum" data-status="right" type="button"> 
  </div> 
 </div>

<div id="imageShowSmallAnchor"></div> 是定位上去的

另外:
快速點(diǎn)擊是會(huì)出現(xiàn)動(dòng)畫(huà)延遲現(xiàn)象,影響體驗(yàn),處理動(dòng)畫(huà)延遲jQuery stop()語(yǔ)法:

$("#div").stop();//停止當(dāng)前動(dòng)畫(huà),繼續(xù)下一個(gè)動(dòng)畫(huà) 
$("#div").stop(true);//清除元素的所有動(dòng)畫(huà)  
$("#div").stop(false, true);//讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài) ,繼續(xù)下一個(gè)動(dòng)畫(huà)
$("#div").stop(true, true);//清除元素的所有動(dòng)畫(huà),讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài)

在jq中有用到并有注釋。
// 讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài) ,繼續(xù)下一個(gè)動(dòng)畫(huà) $('#div').stop(false, ture); $('#div').stop().animate(); 集合使用效果更佳。 

以上就是“jQuery怎么實(shí)現(xiàn)圖片切換動(dòng)畫(huà)效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:jQuery怎么實(shí)現(xiàn)圖片切換動(dòng)畫(huà)效果
路徑分享:http://muchs.cn/article40/ijoeeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、響應(yīng)式網(wǎng)站、微信小程序、網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司