博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery拖拽原理实例
阅读量:5359 次
发布时间:2019-06-15

本文共 1228 字,大约阅读时间需要 4 分钟。

HTML源代码

拖拽实例

CSS源代码

*{
margin: 0; padding:0;}div{
width: 100px; height: 100px; background: #f00; cursor: pointer; position: absolute; left: 0; top: 0;}

JS源代码 

$(function(){    $('div').mousedown(function(e){        //offset()在匹配的元素集合中,获取的第一个元素的当前坐标,坐标相对于文档        var positionDiv = $(this).offset();        var distenceX = e.pageX - positionDiv.left;        var distenceY = e.pageY - positionDiv.top;        // alert(positionDiv.left);        $(document).mousemove(function(e) {        var x = e.pageX - distenceX;        var y = e.pageY - distenceY;        //防止将元素拖拽出浏览器窗口        if(x<0){            x=0;        }else if(x>$(document).width()-$('div').outerWidth(true)){            x=$(document).width()-$('div').outerWidth(true);        }        if(y<0){            y=0        }else if(y>$(document).height()-$('div').outerHeight(true)){            y=$(document).height()-$('div').outerHeight(true);        }        $('div').css({            'left':x+'px',            'top':y+'px'        });    });    $(document).mouseup(function() {        //unbind和off都可以解除绑定时间        $(document).unbind('mousemove');    });    });});

 

 

 

转载于:https://www.cnblogs.com/littlefly/p/3677509.html

你可能感兴趣的文章
关于maven中一些问题的解决尝试
查看>>
Cisco配置DHCP中继代理工程实例
查看>>
Linux命令之sftp - 安全文件传输命令行工具
查看>>
MySQL Workbench 修改快捷键
查看>>
算法笔记_228:信用卡号校验(Java)
查看>>
ffmpeg部署
查看>>
python遍历文件夹
查看>>
mysql简介以及常用dos命令
查看>>
vmware下的linux的host only上网配置
查看>>
hibernate+mysql关联映射师遇到java.lang.StackOverflowError异常
查看>>
JavaScript中正则编码
查看>>
矩阵基础知识(五)
查看>>
php7 & lua 压测对比
查看>>
dojo定义widget
查看>>
修改OpenLayer的图片路径
查看>>
CSS垂直居中
查看>>
[转载]AngularJS入门教程02:AngularJS模板
查看>>
linux第5天 socket api
查看>>
linux程序分类
查看>>
(九)UIScrollView和PageControl的分页
查看>>