超炫的图片爆炸效果

css样式:

<style type="text/css">
    *{margin: 0;padding: 0;list-style: none;}
    body{overflow: hidden;}
    #div{
        width: 640px;height: 400px;position: absolute;left: 50%;top: 50%;margin: -200px 0 0 -320px;box-shadow: 0 0 10px black;
    }
    #div>div{
        width: 100%;height: 100%;position: absolute;left: 0;top: 0;z-index:1;
    }
</style>

html结构:

<div id='div'></div>

js脚本:

<script type="text/javascript">
    var imgSrc = ['1.jpg','2.jpg','3.jpg'];
    var index = 0;
    var zIndex = 99999999;
    startBang(random(3,9),random(3,9));
    function random(min,max){
        return parseInt(Math.random()* (max - min)) + (++min);
    };
    function startBang(x,y){
        var X = x;
        var Y = y;
        var codeNode = document.createElement('div');
        codeNode.style.zIndex = zIndex;
        zIndex--;
        div.appendChild(codeNode);
        for(var i = 0;i < Y; i++){
            for(var j = 0; j < X ;j++){
                var w = div.offsetWidth / X;
                var h = div.offsetHeight / Y;
                var oDiv = document.createElement('div');
                oDiv.style.width = w +'px';
                oDiv.style.height = div.offsetHeight / Y +'px';
                oDiv.style.float = 'left';
                oDiv.style.background = 'url('+imgSrc[index]+')';
                oDiv.style.backgroundPositionX = -w * j + 'px';
                oDiv.style.backgroundPositionY = -h * i + 'px'
                codeNode.appendChild(oDiv);
            }
        };

        setTimeout(function(){
            for(var i = 0;i<codeNode.children.length;i++){
                codeNode.children[i].style.transition = ((Math.random() * 2.5)+0.5)+'s all ease';
                codeNode.children[i].style.transform = 'perspective(800px) translateX('+random(-300,300) +'px) translateY('+ random(-300,300) +'px) rotateX('+random(-720,720) +'deg) rotateY('+random(-720,720) +'deg) scale('+Math.random()*3+','+Math.random()*3+')' ;
                codeNode.children[i].style.opacity = 0;
            }
            index++;
            if(index == imgSrc.length)index = 0;
            startBang(random(3,9),random(3,9));
        },3000);
        setTimeout(function(){
            codeNode.parentNode.removeChild(codeNode);
        },6000);
    }
    </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值