• 鼠标拖移对象


    昨天在某位大仙博客上看到他在BS那些前端水平差的浮燥人士,BS那些“连用原生JS写拖放效果的能力都没有的人”。怕被BS,这里小写一个拖放效果练习一下。。。这里贴出代码:

    js/move.js 文件

    //将一个绝对定位的对象封装成可拖动对象
    function MoveControl(c){
    /* 考虑浏览器兼容性,这里编写一个获取事件对象的公共方法 */
    c.getEvent=function(e){
    if(!e){
    e=event;
    e.pageX=event.x;
    e.pageY=event.y;
    }
    return e;
    }
    /* 当鼠标在该对象上按下,记录按下时鼠标的位置,并且修改监听锁,开始监听 */
    c.onmousedown=function(e){
    e=this.getEvent(e);
    this.IX=e.pageX;
    this.IY=e.pageY;
    this.moveKey=true;
    }
    /* 当鼠标在对象上移动时,同时移动该对象 */
    c.onmousemove=function(e){
    if(!this.moveKey) return;

    e=this.getEvent(e);
    this.style.top=parseInt(this.style.top?this.style.top:0)+(e.pageY-this.IY)+"px";
    this.style.left=parseInt(this.style.left?this.style.left:0)+(e.pageX-this.IX)+"px";
    this.IX=e.pageX;
    this.IY=e.pageY;
    }
    /* 当鼠标在对象上松开时,停止移动该对象 */
    c.onmouseup=function(e){
    this.moveKey=false;
    }
    }

    HTML文件 child.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>无标题文档</title>
    <script src="js/move.js"></script>
    <script type="text/javascript">
    window.onload
    =function(){
    var d = document.getElementById("d");
    MoveControl(d);
    }
    </script>
    </head>
    <body>

    <div id="d" style="100px; height:100px; background:#555; position:fixed;"></div>

    </body>
    </html>


    OVER...

    非常简单,下面看看效果:

    IE8里:


     chrome里:

  • 相关阅读:
    java 模块调用
    JAVA 方法引用
    JAVA 接口中静态方法
    JAVA 反射获取class类对象
    JAVA 引用对象的实例方法
    JAVA Lambda表达式的使用
    JAVA 接口中默认方法
    JAVA中Function的使用
    JAVA TCP客户端读区文件,服务端写入文件
    JAVA 反射练习
  • 原文地址:https://www.cnblogs.com/zhhh/p/2250684.html
Copyright © 2020-2023  润新知