您好,登錄后才能下訂單哦!
這篇文章主要講解了“js與CSS3怎么實現卡牌旋轉切換效果”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“js與CSS3怎么實現卡牌旋轉切換效果”吧!
我們先來看個demo,具體的樣式各位可以自己調整:
(PC下可點擊按鈕切換,移動端可左右滑動切換)
從效果上我們可以看到,這5個div可以左右的切換,每次切換時總會有一個在中間顯眼的位置進行展示。在切換時,看起來是div進行了移動,進行了DOM的增刪操作。但是如果審查下元素,就能看到,DOM元素沒有變換位置,它依然在那個位置,我們只是切換了每個元素上的class,于是頁面上的位置看起來是發生了變化。
其實原理就是這樣的: 不進行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都是當前所在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'); }
1.行內樣式,最直接最簡單的一種,直接對HTML標簽使用style=""。
2.內嵌樣式,就是將CSS代碼寫在之間,并且用進行聲明。
3.外部樣式,其中鏈接樣式是使用頻率最高,最實用的樣式,只需要在之間加上就可以了。其次就是導入樣式,導入樣式和鏈接樣式比較相似,采用@import樣式導入CSS樣式表,不建議使用。
感謝各位的閱讀,以上就是“js與CSS3怎么實現卡牌旋轉切換效果”的內容了,經過本文的學習后,相信大家對js與CSS3怎么實現卡牌旋轉切換效果這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。