Javascript实现简单的拖动效果

html:

<div class="wrap">
    <div id="boxmove" style="left:150px;top:150px;"> movebox </div>
 </div>
css
#boxmove{
        position: absolute;
        width: 200px;
        border:1px solid #ccc;
        height: 200px;
        color: red;
        background-color: blue;
        text-align: center;
        font-size: 30px;
    }

js

var o,   //捕获到的事件

      X,  //boxmove水平宽度

      Y;  //boxmove垂直高度

function getObject(obj,e){    //获取捕获到的对象

    o = obj;

    // document.all(IE)使用setCapture方法绑定;其余比如FF使用Window对象针对事件的捕捉

    document.all?o.setCapture() : window.captureEvents(Event.MOUSEMOVE);  

    X = e.clientX - parseInt(o.style.left);   //获取宽度,

    Y = e.clientY - parseInt(o.style.top);   //获取高度,

}

document.getElementById("boxmove").onmousedown = function(e){ 

    getObject(this,e||event);       //boxmove捕获事件并处理  e-->FF  window.event-->IE

};

document.onmousemove = function(dis){    //鼠标移动事件处理

    if(!o){  

        return;

    }

    if(!dis){  //事件

        dis = event ;

    }

    o.style.left = dis.clientX - X +"px";     //设定boxmovebox样式随鼠标移动而改变

    o.style.top = dis.clientY - Y + "px";

};

document.onmouseup = function(){    //鼠标松开事件处理

    if(!o){   

        return;

    }

    // document.all(IE)使用releaseCapture解除绑定;其余比如FF使用window对象针对事件的捕捉

    document.all?o.releaseCapture() : window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP)

    o = '';   //还空对象

};

需要注意的是,因为需要更改div的left和top。这两个属性需要以内联方式给出,否则不行。


以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索对象
事件
js实现拖动效果、js实现div拖动效果、js实现图片拖动效果、div实现上下拖动效果、js实现地图拖动效果,以便于您获取更多的相关知识。

时间: 2024-10-28 00:51:14

Javascript实现简单的拖动效果的相关文章

JavaScript实现简单的拖动效果_javascript技巧

拖动是一件非常酷的事情.你点击某个对象,并按住鼠标不放,将鼠标移动到另一个区域,然后释放鼠标按钮将对象放在这里. 下面是一个简单的案例: HTML部分:注意,拖动元素一定要为绝对定义,即position = absolute; 复制代码 代码如下: <div style="position:absolute;height:100px;width:100px;background:red" class="draggable"></div> &l

JavaScript实现简单的日历效果_javascript技巧

只是个简单的日历模板,各位可根据需要自行添加需要的功能.该模板更多的是提供了关于年.月.日.月初.月末.星期的获取函数.各位可根据需要自行获取.欢迎提供更简便的方式方法,互相学习提高!谢谢~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>日历</title> <style type="

jquery简单的拖动效果实现原理及示例

本文为大家详细介绍下jQuery拖曵的简单实例,具体的实现思路及代码如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助   复制代码 代码如下: <!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>简单拖曵原理实例</title> <style type=

jquery简单的拖动效果

<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>简单拖曵原理实例</title> <style type="text/css"> #drag{width:400px;height:300px;background:url(ht

jquery简单的拖动效果实现原理及示例_jquery

复制代码 代码如下: <!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>简单拖曵原理实例</title> <style type="text/css"> #drag{width:400px;height:300px;backgr

JavaScript实现AJAX的拖动效果

ajax|javascript <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312&quo

JavaScript制作简单的日历效果_javascript技巧

本文实例为大家分享了 <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title></title> </head> <body> <script> document.write("<table>"); document.write("<th colspan='7'>

javascript-Javascript如何做一个拖动效果

问题描述 Javascript如何做一个拖动效果 1.拖动用哪个事件?dragstart还是mousemove? 2.修改div的哪个样式?top还是translate? 这两种方案,各有什么优劣,各用在什么场合比较好? 解决方案 translate有兼容性,肯定是top/left了 同理dragstart也一样 解决方案二: 如何做一个好梦高管 如何做一个讲师 解决方案三: 前几天刚写了一个,时间是用mouseup,mousedown,mousemove:修改div的top和left: 具体是

javascript实现简单的鼠标拖动效果实例_javascript技巧

本文实例讲述了javascript实现简单的鼠标拖动效果.分享给大家供大家参考.具体分析如下: 用鼠标拖动一个元素,放到网页的任意一个位置上,这是很常见的,例如很多博客模板版块位置可以自己拖动到相应位置. 下面先写一个简单的可以实现鼠标拖动的效果. 当鼠标按下的时候,记录鼠标当前位置和元素左边距离的差值. 当鼠标移动的时候,给元素的位置赋值,就是鼠标的位置,减去刚才的差值. 当鼠标放开的时候,给鼠标移动和鼠标放开赋值null,让它们不要再有任何动作. 要点一: disx = oevent.cli