• javascript拖动div


    div拖动代码,在用此代码之前,你可能需要将你需要拖动的元素style设置position: absolute;

    #textareaSavaDiv{
        position: absolute; 
    right:50px;
    300px;
    height:300px;
    }

    html

    <div id="textareaSavaDiv">
    <input type="text" id="username"/> </div>

      

    纯JS拖动div代码

    <script>
      var rDrag = {
        o: null,
        init: function(o) {
            o.onmousedown = this.start;
        },
        start: function(e) {
            var o;
            e = rDrag.fixEvent(e);
            e.preventDefault && e.preventDefault();
            rDrag.o = o = this;
            o.x = e.clientX - rDrag.o.offsetLeft;
            o.y = e.clientY - rDrag.o.offsetTop;
            document.onmousemove = rDrag.move;
            document.onmouseup = rDrag.end;
        },
        move: function(e) {
            e = rDrag.fixEvent(e);
            var oLeft, oTop;
            oLeft = e.clientX - rDrag.o.x;
            oTop = e.clientY - rDrag.o.y;
            rDrag.o.style.left = oLeft + 'px';
            rDrag.o.style.top = oTop + 'px';
        },
        end: function(e) {
            e = rDrag.fixEvent(e);
            rDrag.o = document.onmousemove = document.onmouseup = null;
        },
        fixEvent: function(e) {
            if (!e) {
                e = window.event;
                e.target = e.srcElement;
                e.layerX = e.offsetX;
                e.layerY = e.offsetY;
            }
            return e;
        }
        
    };
    window.onload = function() {
        var obj = document.getElementById('textareaSavaDiv');
        rDrag.init(obj);
    };
    </script>

    以上代码就可以实现拖动div的效果

    但是,如果你的div里面有输入框或者需要操作的元素的时候,就会无法输入或者无效果原因是你使用了移动层,因为层的覆盖,把输入框给挡住了

    想要实现可以div里面元素有效需要js获取焦点

    在拖动的时候让输入框ID获取焦点

    window.onload = function() {
        var obj = document.getElementById('textareaSavaDiv');
        document.getElementById("username").focus();
        rDrag.init(obj); 
    };
  • 相关阅读:
    innerHTML使用方法
    HDU 1426 Sudoku Killer
    Junit使用教程(一)
    HLS协议实现
    GPIO
    TraceView总结
    在kettle中实现数据验证和检查
    用户向导左右滑动页面实现之ImageSwitcher
    DWZ使用笔记
    oracle进程
  • 原文地址:https://www.cnblogs.com/cnsevennight/p/4119257.html
Copyright © 2020-2023  润新知