Multi-object attribute value of any width and height

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>任意值属性 多物体宽高</title>
    <style>
        ul,li{
            list-style: none;
        }
        li{
            width:200px;
            height:100px;
            background-color: yellow;
            margin:10px;
            border:4px solid #f00;
        }
    </style>
    <script>
        window.onload=function(){
            var Li1 = document.getElementById('li1');
            var Li2 = document.getElementById('li2');
            Li1.onmouseover = function(){
                startMove(Li1,'height',400);
            };
            Li1.onmouseout = function(){
                startMove(Li1,'height',100);
            };
            Li2.onmouseover = function(){
                startMove(Li2,'width',400);
            };
            Li2.onmouseout = function(){
                startMove(Li2,'width',200);
            }
        };
        function startMove(obj,attr,iTarget){
            clearInterval(obj.timer);
            obj.timer = setInterval(function(){
                var icur = parseInt(getStyle(obj,attr));
                var speed = (iTarget - icur)/8;
                speed = speed >0 ? Math.ceil(speed) : Math.floor(speed);
                if(icur == iTarget){
                    clearInterval(obj.timer);
                }else{
                    obj.style[attr]  = icur + speed + 'px';
                }
            },30)
        }

        function getStyle(obj,attr){
            if(obj.currentStyle){
                return obj.currentStyle[attr];
            }else{
                return getComputedStyle(obj,false)[attr];
            }
        }
    </script>
</head>
<body>
    <ul>
        <li id="li1"></li>
        <li id="li2"></li>
    </ul>
</body>
</html>

 

 

 

 

Guess you like

Origin www.cnblogs.com/Fourteen-Y/p/11957837.html