zoukankan      html  css  js  c++  java
  • JS错误记录

    本次练习错误总结:

    1. div跟着用户操作而移动,首先必须要绝对定位,否则无法移动。

    2. if条件语句里面是双等号,不是单等号(赋值)。

    3. 坐标值没有Right,只能offsetLeft 加减。

    //oDiv.style.right = oDiv.offsetRight + 10 + 'px';
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: #ccc;
            /* border: 1px solid #000; */ 
            position:absolute; 
            /* 没写绝对定位。。。。。。div不能移动。。。 */
        }
        </style>
    
        <script>
        document.onkeydown = function(ev){
            var oEvent = ev||event;
            var oDiv = document.getElementById('div1');
    
           // if(oEvent.keyCode = 39)  
           //赋值是一个等号,if里面是双等号 == 
    
           if(oEvent.keyCode == 39)  
           {
                oDiv.style.left = oDiv.offsetLeft + 10 + 'px';
            }
            else if(oEvent.keyCode == 37)
            {
              //oDiv.style.right = oDiv.offsetRight + 10 + 'px';
              //没有右边值。。。。 只能offsetLeft 加减。
              oDiv.style.left = oDiv.offsetLeft - 10 + 'px';
            }
        };
        </script>
    function getPos(ev) {
                // var oEvent = ev||event;   这里是否需要这个变量?   不需要
                var scrollTop = document.documentElement.scrollTop||document.body.scrollTop;
                var scrollLeft = document.documentElement.scrollLeft||document.body.scrollLeft;
    
                return { x:ev.clientX + scrollLeft, y:ev.clientY + scrollTop}
            };
    
            document.onmousemove = function (ev) {
                var oEvent = ev||event;
                var pos = getPos(oEvent);
                var aDiv = document.getElementsByTagName('div');
    
                for(var i=aDiv.length-1; i>0; i--){
                    aDiv[i].style.left = aDiv[i-1].offsetLeft + 'px';
                    aDiv[i].style.top= aDiv[i-1].offsetTop + 'px';
                }
    
                aDiv[0].style.left = pos.x + 'px';
                aDiv[0].style.top = pos.y + 'px';
            };
  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/carpenterzoe/p/10191154.html
Copyright © 2011-2022 走看看