搜尋
首頁php教程PHP开发jQuery圖片切換動畫特效

jQuery圖片切換動畫特效

Dec 08, 2016 am 11:11 AM
jquery

想法:想必大家都逛過淘寶或其他的一些網站,通常都會有圖片動畫切換的效果,那是怎麼實現的呢?博主我呢,技術不是很好,弄了一個簡單的例子!

首先一般圖片上會有兩個圖片按鈕,一個左切換的按鈕一個右切換的按鈕,當我們單擊左切換按鈕時,原來的圖片就會向右移動XX像素,然後它左邊的圖片就會顯示到框框裡,而原來的圖片被隱藏了,點擊右切換按鈕的原理跟左按鈕相似。但如果一直點同一個按鈕的話,本來這個圖片切換框只有3張圖片的話,到最後一張的時候我們要做一個判斷,讓它移動回第一張或最後一張。想法分析完了,下面看下我們的程式碼:

1、html程式碼

<div id="divBox">
  <div id="imgBox">
    <div class="img"><img  src="/static/imghwm/default1.png"  data-src="0.jpg"  class="lazy"  / alt="jQuery圖片切換動畫特效" ></div>
    <div class="img"><img  src="/static/imghwm/default1.png"  data-src="1.jpg"  class="lazy"  / alt="jQuery圖片切換動畫特效" ></div>
    <div class="img"><img  src="/static/imghwm/default1.png"  data-src="3.jpg"  class="lazy"  / alt="jQuery圖片切換動畫特效" ></div>
  </div>
</div>
<div id="bth">
  <button id="zou">左</button>
  <button id="you">右</button>
</div>

   

divBox是一個顯示圖片的框

imgBox是實現所有圖片的DIV,我們實現所有圖片可以了

bth放了兩個button按鈕用來切換圖片

2、CSS代碼

#divBox{
height:315px;
width:750px;
position:absolute;
border:#000000 1px solid;
overflow:hidden;}
 
#imgBox{
position:absolute;
width:2550px;}
 
.img{
float:left;}
 
#bth{
margin-left:800px;}

   

#divBox設定圖片顯示框的寬高,絕對位置,邊框

#divBox設定圖片顯示框的寬高,絕對位置,邊框,還有一個重要的屬性是圖片顯示框的寬度,溢出隱藏,當這個DIV裡的內容超出這個DIV的大小時,溢出的部分會被隱藏掉。

#imgBox設定絕對位置和寬度,這個寬度取決於你所有圖片寬度的總和,我這裡是2550px,有三張圖片,每張圖片寬為750px;如果這裡不給寬度的話裡面的小DIV無法左浮動。

.img設定左浮動,讓所有圖片向左浮動,保持在一條水平線上。

#bth 設定外邊距,因為上面的div設定了絕對位置所以這個div會被蓋住看不見了,所以把這個div挪出來。

3、腳本程式碼

$(function(){
  //定义一个变量保存距离左边的位置
  var leftNum=0;
  $("#zou").click(function(){
    if(leftNum==0){
      //移动到最后一张图片
      $("#imgBox").animate({left:leftNum=-1500},500);
    }else{
      $("#imgBox").animate({left:leftNum=leftNum+750},500);
    }
     
  });
   
  $("#you").click(function(){
    if(leftNum==-1500){
      //移动到第一张图片
      $("#imgBox").animate({left:leftNum=0},500);
    }else{
      $("#imgBox").animate({left:leftNum=leftNum-750},500);
    }
     
  });
});

   

提示:記得導入jQuery包

腳本代碼我寫了兩個單擊事件,定義了一個保存距離左邊位置的屬性leftNum

腳本代碼我寫了兩個單擊事件,定義了一個保存距離左邊位置的屬性leftNum

切換按鈕點擊事件:當我們點擊按鈕時,先判斷leftNum是否為0,如果為0,那麼就是第一張圖片,第一張圖片左邊已經沒圖片了怎麼辦,所以我們讓他跳到最後一張圖片,我們調用animate方法實現動畫效果,這裡我寫的是left:left=-1500,為什麼是-1500呢,left等於0時是第一張圖片,left等於-750的時候是第二張圖片,left等於-1500時就是第三張圖片,所以最後一張圖片的位置=-(圖片寬度)X(圖片總數)-1。如果leftNum不為0時,我們就在原來的基礎上加750px。

右切換鈕的原理和左切換鈕相似,我就不解釋那麼多了。

 4、小結:

看懂的小夥伴們可以自己去實踐一下,畢竟實踐出真理。

如果想做的更好看的同學,可以私信我,畢竟還有先功能我沒講,比如弄幾個圓點在圖片上面,當我們點擊圓點時就動畫切換到相對應的圖片上,還可以設定圖片輪播效果,每隔多少秒切換一次圖片。

jQuery圖片切換動畫特效還有就是按鈕的話,大家也可以弄的漂亮一些,可以在圖片左邊和右邊加一個圖片的按鈕,這樣和更美觀

🎜🎜🎜
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。