css3爆炸效果更換圖片輪播圖

來源:互聯網
上載者:User

標籤:rspec   blog   images   highlight   on()   back   tabs   pen   pac   

思路:給一個div設定一個背景圖片1.jpg,然後在這個div上面用兩個for迴圈動態建立一個列數為C行數為R數量的span,並給這些span設定寬高、定位並設定背景圖片0.jpg,然後設定每個span的background-position,使這組span平鋪在div上。當點擊div時換圖,換圖的實現方法是迴圈每個span,以div的寬度的中線為定位線,讓這組span隨機進行transform,然後在結束的時候讓span的透明度變為透明,並且瞬間拉回全部span到原始位置並更換span和div的背景圖片為下一組的圖片(注意div的背景圖片永遠是span的背景圖片的下一張);可以將此效果自動進行圖片的更換,變成選項卡

轉載請註明‘轉載於Jason齊齊的部落格http://www.cnblogs.com/jasonwang2y60/’

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>爆炸效果換圖</title>    <link rel="stylesheet" href="stylesheets/base.css">    <style>        body{            background:#000;        }        body,html{            width: 100%;            height: 100%;            overflow:hidden;        }        #box{            width:900px;            height:500px;            background:url(images/img_tabs/1.jpg) no-repeat;            background-size:cover;            margin:100px auto;            position:relative;        }        #box span{            width: 100%;            height: 100%;            position:absolute;            top: 0;            left: 0;            background:url(images/img_tabs/0.jpg);            transform:rotateY(0deg);        }    </style>    <script>        function rnd(m,n){            return parseInt(Math.random()*(n-m)+m);        }        window.onload=function(){            var oBox=document.getElementById(‘box‘);            var C=7;            var R=8;            for(var i=0;i<R;i++){                for(var j=0;j<C;j++){                    var oSpan=document.createElement(‘span‘);                    oSpan.style.width=oBox.offsetWidth/R+‘px‘;                    oSpan.style.height=oBox.offsetHeight/C+‘px‘;                    oSpan.style.left=i*oBox.offsetWidth/R+‘px‘;                    oSpan.style.top=j*oBox.offsetHeight/C+‘px‘;                    oBox.appendChild(oSpan);                    oSpan.style.backgroundPosition=-oSpan.offsetLeft+‘px -‘+oSpan.offsetTop+‘px‘;                }            }            var bReady=false;            var iNow=0;            oBox.onclick=function(){                if(bReady){return;}                bReady=true;                iNow++;                var aSpan=oBox.children;                for(var i=0;i<aSpan.length;i++){                    aSpan[i].style.transition=‘.4s all ease‘;                    var x=aSpan[i].offsetWidth/2+aSpan[i].offsetLeft-oBox.offsetWidth/2;                    var y=aSpan[i].offsetHeight/2+aSpan[i].offsetTop-oBox.offsetHeight/2;                    aSpan[i].style.transform=‘perspective(800px) translateX(‘+x+‘px) translateY(‘+y+‘px) rotateX(‘+rnd(-180,180)+‘deg) rotate(‘+rnd(-180,180)+‘deg) scale(1.4)‘;                    aSpan[i].style.opacity=‘0‘;                }                aSpan[0].addEventListener(‘transitionend‘,function(){                    bReady=false;                    for(var i=0;i<aSpan.length;i++){                        aSpan[i].style.transition=‘none‘;                        aSpan[i].style.transform=‘perspective(800px) translateX(0) translateY(0) rotateX(0) rotateY(0) scale(1)‘;                        aSpan[i].style.opacity=1;                        aSpan[i].style.backgroundImage=‘url(images/img_tabs/‘+iNow%3+‘.jpg)‘;                        oBox.style.backgroundImage=‘url(images/img_tabs/‘+(iNow+1)%3+‘.jpg)‘;                    }                },false);            };        };    </script></head><body>    <div id="box">    </div></body></html>

  

css3爆炸效果更換圖片輪播圖

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.