溫馨提示×

溫馨提示×

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

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

js+CSS3如何實現(xiàn)卡牌旋轉(zhuǎn)切換效果

發(fā)布時間:2021-06-18 15:03:20 來源:億速云 閱讀:287 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“js+CSS3如何實現(xiàn)卡牌旋轉(zhuǎn)切換效果”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“js+CSS3如何實現(xiàn)卡牌旋轉(zhuǎn)切換效果”這篇文章吧。

我們經(jīng)常會在游戲里看到一些幾張卡牌左右切換的效果,中間的一張最突出醒目,向左或向右滑動可切換到另一張,今天我們就用CSS3來實現(xiàn)下這種效果。

我們先來看個demo,具體的樣式各位可以自己調(diào)整:

js+CSS3如何實現(xiàn)卡牌旋轉(zhuǎn)切換效果

(PC下可點擊按鈕切換,移動端可左右滑動切換)

從效果上我們可以看到,這5個div可以左右的切換,每次切換時總會有一個在中間顯眼的位置進行展示。在切換時,看起來是div進行了移動,進行了DOM的增刪操作。但是如果審查下元素,就能看到,DOM元素沒有變換位置,它依然在那個位置,我們只是切換了每個元素上的class,于是頁面上的位置看起來是發(fā)生了變化。

其實原理就是這樣的: 不進行DOM的增刪,為每個位置上的div都寫上特定的樣式,每個div都進行絕對定位,然后進行樣式的輪播。 每次切換都有個0.6s過渡過程:

-webkit-transition: all 0.6s;
transition: all 0.6s;

比如從左往右的class分別為:item_0, item_1, item_cur, item_3, item_4,每個class都是當(dāng)前所在div的定位,向左滑動時,右邊的div會切換到中間,這樣class從左往右就變成了item_1, item_cur, item_3, item_4, item_0。

var egg_change = function(type){
 var $demo = $('.demo'),
  index = parseInt( $demo.attr('index_cur')||2 ),
  $item = $('.demo .item'),
  len = $item.length;

 if( type=='left' ){
  index = (index+1)%len;
 }else{
  index = (index-1+len)%len;
 }
 $demo.attr('index_cur', index);

 $item.removeClass('item_0 item_1 item_3 item_4 item_cur');
 
 $item.eq( (index-2+len)%len ).addClass('item_0');
 $item.eq( (index-1+len)%len ).addClass('item_1');
 $item.eq(index).addClass('item_cur');
 $item.eq( (index+1)%len ).addClass('item_3');
 $item.eq( (index+2)%len ).addClass('item_4');
}

以上是“js+CSS3如何實現(xiàn)卡牌旋轉(zhuǎn)切換效果”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI