jquery实现对div的拖拽功能

<!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>拖动DIV</title>
        <style type="text/css">
        #show1 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 0px;
                top: 0px;
                border: 1px solid black;
                }
        #show2 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 100px;
                top: 0px;
                border: 1px solid black;
                }
        #show3 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 200px;
                top: 0px;
                border: 1px solid black;
                }
        #show4 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 0px;
                top: 100px;
                border: 1px solid black;
                }
        #show5 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 100px;
                top: 100px;
                border: 1px solid black;
                }
        #show6 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 200px;
                top: 100px;
                border: 1px solid black;
                }
        #show7 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 0px;
                top: 200px;
                border: 1px solid black;
                }
        #show8 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 100px;
                top: 200px;
                border: 1px solid black;
                }
        #show9 {
                background: #7cd2f8;
                width: 100px;
                height: 100px;
                text-align: center;
                position: absolute;
                z-index: 1;
                left: 200px;
                top: 200px;
                border: 1px solid black;
                }
        #right{
            width: 306px;
            height: 306px;
            position: absolute;
            top: 0px;
            left: 400px;
            border: 1px solid black;
        }
        </style>
        <script type="text/javascript" src="gongju/jquery-1.11.2.min.js"></script>

    </head>
    <body>
            <div class="show" id="show1" bs="1">
                1
            </div>
            <div class="show" id="show2" bs="2">
                2
            </div>
            <div class="show" id="show3" bs="3">
                3
            </div>
            <div class="show" id="show4" bs="4">
                4
            </div>
            <div class="show" id="show5" bs="5">
                5
            </div>
            <div class="show" id="show6" bs="6">
                6
            </div>
            <div class="show" id="show7" bs="7">
                7
            </div>
            <div class="show" id="show8" bs="8">
                8
            </div>
            <div class="show" id="show9" bs="9">
                9
            </div>
     <!----------------------------------------------->
         <div id="right">

         </div>
    </body>
</html>
<script type="text/javascript">
   var biao;
$(document).ready(function() {
    $(".show").mousedown(function(e) //e鼠标事件
        {
            biao=$(this).attr("bs");
            $(this).css("cursor", "move"); //改变鼠标指针的形状

            var offset = $(this).offset(); //DIV在页面的位置
            var x = e.pageX - offset.left; //获得鼠标指针离DIV元素左边界的距离
            var y = e.pageY - offset.top; //获得鼠标指针离DIV元素上边界的距离
            $(document).bind("mousemove", function(ev) //绑定鼠标的移动事件,因为光标在DIV元素外面也要有效果,所以要用doucment的事件,而不用DIV元素的事件
                {
                    $("#show"+biao+"").stop(); //加上这个之后

                    var _x = ev.pageX - x; //获得X轴方向移动的值
                    var _y = ev.pageY - y; //获得Y轴方向移动的值

                    $("#show"+biao+"").animate({
                        left: _x + "px",
                        top: _y + "px"
                    }, 10);
                });

        });

    $(document).mouseup(function() {
        $("#show"+biao+"").css("cursor", "default");
        $(this).unbind("mousemove");
    })
})
</script>
时间: 2024-11-10 00:24:54

jquery实现对div的拖拽功能的相关文章

JQuery UI的拖拽功能

JQuery UI是JQuery官方支持的WebUI 代码库,包含底层交互.动画.特效等API,并且封装了一些Web小部件(Widget).同时,JQuery UI继承了jquery的插件支持,有大量的第三方插件可以丰富JQuery UI的功能. JQuery UI提供的API极大简化了拖拽功能的开发.只需要分别在拖拽源(source)和目标(target)上调用draggable和droppable两个函数即可. 拖拽原理 首先要明确几个概念. ource:拖拽源,要拖动的元素. taerge

jQuery实现div横向拖拽排序

参考:https://blog.csdn.net/kongjiea/article/details/45578033 效果图: html <h1>div横向拖拽排序</h1> <div class="box"> <div class="horizontal-div" id="div1">div1</div> <div class="horizontal-div"

我的开源框架之可拖拽功能实现

需求: (1)实现元素可拖拽 (2)自定义拖拽范围 (3)自定义按下触发拖拽的元素 (4)支持拖拽过程中的事件监听 实现思路: 元素可拖拽的实现关键为,mousedown.mousemove.mouseup三大事件.mousedown为按下触发拖动的事件,可以定义到元素本身或其他元素:mousemove为拖动范围元素的事件,该事件负责重新设置拖动元素的位置属性:mouseup为拖动范围元素的事件,该事件主要为了释放mousemove.mouseup事件. 为避免当拖动元素内容有较大内容时,重新绘

easyUI拖拽功能讲解以及多选拖拽的实现

首先我们考虑这样一个业务场景:一个维修部门中分了N个维修组,维修部门的负责人需要将这个部门的维修人员分配到这些组里去. 当然,他可以选中一个维修人员,然后给他分配维修组,但是从人性化角度考虑,若利用拖拽是否更加的快捷和明确呢? 比如我们可以将维修组和维修人员都列出来,然后只需要将维修人员拖动到对应的组里即可完成分组. 另外,由于一个个拖还是太繁琐,还需要实现选中多个维修人员一起分组.那么我们下面一步步来,先实现单个的拖拽功能,再加入多选拖动支持~ 单选拖动 首先,根据我们刚才描述的场景,简单设计

jquery实战——弹出框拖拽效果

今天主要记录一下弹出框拖拽效果: 一.移动弹出窗口的步骤是:按下鼠标左键——移动鼠标——松开鼠标左键停止移动 二.主要思想: 按下鼠标左键:$('div').mousedown(function(e){}) 移动鼠标,获取鼠标当前坐标值:$(document).mousemove(function(e){}) 松开鼠标左键停止移动:$('div').mouseup(function(e){ $(document).unbind('mousemove');  //即当鼠标左键被释放时解除mouse

vuejs2.0使用Sortable.js实现的拖拽功能( 转)

文章目录 简介 实现效果 html主要代码 css代码 js代码 简介 在使用vue1.x之前的版本的时候,页面中的拖拽功能,我在项目中是直接用的jquery ui中的sortable.js,只是在拖拽完成后,在update的回调函数中又重新排序了存放数据的数组.但是当把vue升级到2.0以上后发现拖拽功能失效了,于是使用了下面代码. 该案例主要是在用于vuejs2.0中实现的拖拽功能,用到的的js有Sortable.js,vuedraggable.js,当然还有vue.min.js,提供的案例

js实现登陆页面的拖拽功能

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>登陆页面的拖拽功能实现</title> </head> <style type="text/css"> *{ margin:0; padding:0; } a{ text-decoration: none; } .dialog{ width: 380px;

javascript 拖拽功能

拖拽功能是我们经常用到的一个功能,流程如下: 鼠标点击选框时,计算出鼠标位置和选框位置的距离差,也就是disX和disY: 鼠标移动,获取鼠标位置坐标,然后减去步骤一种的距离差,就是选框的坐标: 鼠标弹起时,清除鼠标移动函数 需要注意以下几点: 鼠标移动时,有可能移出选框的范围,所以需要使用全局的移动函数,也就是document.onmousemove: 鼠标弹起时,可能不在选框范围内弹起,程序会出现bug,所以使用全局弹起,也就是 document.onmouseup: 要控制选框的移动范围,

用js实现拖拽功能

平常我们在网上可以看到,按住一张图片,然后拖到另一处去,前天在网上看石川(Blue)老师 的js课堂,有见过这个,写下来与大家分享一下: 1,先画个div小红块,样式设置如下: #div1{width: 200px; height: 200px; background-color: red; position:absolute;} 这里的positon属性很重要,如果没有这个,根本拖不动你可以试一下. 2,然后需要用到三个事件,onmousedown, onmousemove, onmouseu