zoukankan      html  css  js  c++  java
  • 小方块向左向右运动

    代码

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            #box {
                width: 100px;
                height: 100px;
                background: darkmagenta;
                position: absolute;
                left: 0;
                top: 30px;
            }
        </style>
    </head>
    
    <body>
        <button id='right'>向右走</button>
        <button id='left'>向左走</button>
        <div id="box"></div>
    
        <script>
            var right = document.getElementById('right');
            var left = document.getElementById('left');
            var box = document.getElementById('box');
            var timer = null;
            // 向右走
            right.onclick = function () {
                run(box,'left',5,500)
            }
    
            // 向左走
            left.onclick = function () {
                run(box,'left',10,0)
            }
    
            function run(ele,attr,step,target) {
                step = target>parseInt(getStyle(ele, attr))? step :-step;
                // if( target>parseInt(getStyle(ele, attr))){
                //     step = step;
                // }else{
                //     step = -step;
                // }
                clearInterval(timer);
                timer = setInterval(function () {
                    var dis = parseInt(getStyle(ele, attr)) + step;
                    if (dis <= target && step < 0 || dis >= target && step > 0) {
                        dis = target;
                        clearInterval(timer);
                    }
                    ele.style[attr] = dis + 'px';
                }, 50)
            }
    
    
    
    
            // 获取元素样式
            function getStyle(ele, attr) {
                if (window.getComputedStyle) {
                    return getComputedStyle(ele)[attr];
                } else {
                    return ele.currentStyle[attr];
                }
            }
        </script>
    </body>
    
    </html>

    效果

  • 相关阅读:
    事件委托
    a标签深入研究
    windows查看端口号
    什么是WCM
    map key循环
    用Myeclipse打war包
    myeclipse 8.510.0 安装 svn 方法
    SVN使用&CVS使用
    MyEclipse 字体大小 字体颜色
    什么是Quickr
  • 原文地址:https://www.cnblogs.com/shihaiying/p/13229997.html
Copyright © 2011-2022 走看看