继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaScript动画之多物体动画

Leal_Gullden
关注TA
已关注
手记 15
粉丝 23
获赞 267

效果图
图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <!-- <link rel="stylesheet" type="text/css" href="../css/demo1.css">
    <script src ="../js/demo1.js"></script> -->
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        ul li{
            width: 200px;
            height: 100px;
            background-color: #fd8e2f;
            margin: 0 0 20px 0;
        }
    </style>
    <script type="text/javascript">
        window.onload=function(){
            var lis = document.getElementsByTagName('li');
            for(var i=0;i<lis.length;i++){
                lis[i].timer = null;
                lis[i].onmouseover=function(){
                    startWidth(this,400);
                };
                lis[i].onmouseout = function(){
                    startWidth(this,200);
                };
            }
        };

        function startWidth(obj,oTarget){
            clearInterval(obj.timer);

            obj.timer = setInterval(function(){
                var flag = oTarget-obj.offsetWidth;
                var speed= flag>0?Math.ceil(flag/10):Math.floor(flag/10);
                if(flag===0){speed=0;}
                obj.style.width = obj.offsetWidth+ speed +"px";
                if(obj.offsetWidth===oTarget){
                    clearInterval(obj.timer);
                }
            },30);
        }
    </script>
</head>
<body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</body>
</html>
打开App,阅读手记
7人推荐
发表评论
随时随地看视频慕课网APP

热门评论

不过这个直接上css3的transform就好了,更简单一点

查看全部评论