zoukankan      html  css  js  c++  java
  • 拖拽,兼容各浏览器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #div1{ 100px; height: 100px; background-color: #4D4D4D; position: absolute; cursor: pointer; -webkit-box-shadow: 3px 3px 0px 3px #C7C7C7; box-shadow: 3px 3px 3px 0px #C7C7C7; }
            #parent{ 500px; height: 500px; border: 1px solid #CDCDCD; position: relative; margin: 0 auto; background-color: #F4F4F4; }
        </style>
    </head>
    <body>
        <div id="parent">
            <div id="div1"></div>
        </div>

    <script type="text/javascript">
    window.onload = function (){
        var oDiv = document.getElementById('div1');
        var oParent = document.getElementById('parent');
        var sent = {
            l : 0,
            r : oParent.offsetWidth - oDiv.offsetWidth,
            t : 0,
            b : oParent.offsetHeight - oDiv.offsetHeight,
            n : 10
        }

        drag(oDiv,sent);
    }

    function drag(obj,sent){
        var dmW = document.documentElement.clientWidth || document.body.clientWidth;
        var dmH = document.documentElement.clientHeight || document.body.clientHeight;
        var sent = sent || {};
        var l = sent.l || 0;
        var r = sent.r || dmW - obj.offsetWidth;
        var t = sent.t || 0;
        var b = sent.b || dmH - obj.offsetHeight;
        var n = sent.n || 10;
        obj.onmousedown = function (ev){
            var oEvent = ev || event;
            var sentX = oEvent.clientX - obj.offsetLeft;
            var sentY = oEvent.clientY - obj.offsetTop;
            document.onmousemove = function (ev){
                var oEvent = ev || event;

                var slideLeft = oEvent.clientX - sentX;
                var slideTop = oEvent.clientY - sentY;

                if(slideLeft <= l){
                    slideLeft = l;
                }
                if(slideLeft >= r){
                    slideLeft = r;
                }
                if(slideTop <= t){
                    slideTop = t;
                }
                if(slideTop >= b){
                    slideTop = b;
                }

                obj.style.left = slideLeft + 'px';
                obj.style.top = slideTop + 'px';
            }

            document.onmouseup = function (){
                document.onmousemove = null;
                document.onmouseup = null;
            }

            return false;
        }
    }
        </script>
    </body>
    </html>

  • 相关阅读:
    J2SE-反射
    c3p0 连接数据库失败的问题
    c# 调用存储过程
    存储过程使用truncate时
    Parcelable intent传递对象时,需要将该对象实现Parcelable 或者Serializable
    android intent 在打开设置activity的时候在监听事件的内部 适用setclass()方法时 不是直接适用this 关键字
    c# 读取appconfig文件
    Oracle 连接数据库的几种方式
    通过反射获得方法,和绑定事件
    js 验证
  • 原文地址:https://www.cnblogs.com/happiness-mumu/p/5961369.html
Copyright © 2011-2022 走看看