div在屏幕任意位置拖动

主要就是三点:

1,获取鼠标按下时的位置;
2,获取鼠标移动后的位置;
3,两者相减就是div的位置;

js代码如下:

// 获取屏幕的高宽度
let cw = $(window).width();
let ch = $(window).height();
// 鼠标按下时获取鼠标在屏幕的位置
$(".box").mousedown(function(e){e = e || window.event;// 获取鼠标在元素上的位置(鼠标按下时在元素上得位置)let X = e.clientX - $(".box").offset().left;let Y = e.clientY  - $(".box").offset().top;$(".box").mousemove(function(e){console.log(cw ,ch);e = e || window.event;let x = e.clientX - X;let y = e.clientY - Y;if(x<0)x=0;if(y<0)y=0;if(x + $('.box').width() > cw)  x = cw-$('.box').width();if(y +$('.box').height() > ch)  y = ch-$('.box').height();$('.box').css({'left':x,'top':y})})
});
// 鼠标抬起事件
$(document).mouseup(function(){$(".box").unbind("mousemove")
})

div在屏幕任意位置拖动相关推荐

  1. div内图片和文字水平垂直居中且在屏幕任意位置

    有这样一个需求: 要求将文字与icon作为一个盒子,盒子内文字与icon水平垂直居中,且盒子可以放在屏幕的任意位置:比如左侧或者右侧或者居中,且具有响应式的特点. 思路如下: 首先,用一个div包裹两 ...

  2. vue中使用html5的drag实现任意位置拖动

    最近做的一个项目,需要拖动配置,网上找了一圈 没找到合适的轮子,没办法自己写吧,代码中有能优化的地方,没时间优化了(其实就是懒得),希望能帮到需要的人. 效果图如下: 可以充设备组件拖动到右侧容器中, ...

  3. Android在屏幕任意位置显示对话框

    为什么80%的码农都做不了架构师?>>>    下面是设置对话框x的偏移量. int marginLeft = 100;Window window = getDialog().get ...

  4. Swift 3 点击屏幕任意位置隐藏键盘

    func hideKeyboardWhenTappedAround() {let tap: UITapGestureRecognizer = UITapGestureRecognizer(target ...

  5. 在屏幕的任意位置拖拽,控制精灵移动

    本文首发于微信公众号: 小蚂蚁教你做游戏.欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识. 嗨!大家好,我是小蚂蚁. 最近一直在录制视频教程,很少写图文教程,难免有些生疏.一项技能练 ...

  6. VC/MFC拖动窗口任意位置移动窗口

    除了拖动标题栏移动窗口以外,我们也可以拖动窗口任意位置(除控件)位置而使对话框移动. 这里只讲述基于对话框的程序 class c**dlg:public CDialog { //Constructio ...

  7. C语言在屏幕的任意位置输出字符

    初学编程的读者,肯定很想编写出一个游戏来秀一下,贪吃蛇就是C语言小游戏中经典的一个,本教程的目标也是带着大家做出这款游戏,你可以猛击<C语言贪吃蛇游戏演示和说明>了解更多. 编写游戏的第一 ...

  8. jquery 插件 任意位置浮动固定层

    -------------------------------------jquery.floatDiv.js--------------------------------------------- ...

  9. vue 拖拽元素到任意位置

    vue 拖拽元素到任意位置 使用vue-drag-it-dude组件 npm install vue-drag-it-dude --save 参考地址:https://github.com/xzqyu ...

最新文章

  1. 如何解决diff: /../Podfile.lock: No such file or directory 的问题
  2. windows中以管理员身份运行cmd
  3. 20190318-使用类做一个简单的图书馆管理系统
  4. Linux 打通ssh无密码登录
  5. fatal error: Python.h: 没有那个文件或目录 解决方法
  6. Semaphore、CountDownLatch和CyclicBarrier
  7. LeetCode 103. 二叉树的锯齿形层次遍历(BFS / 双栈)
  8. mybatis获取表名——mybatis动态调用表名和字段名#{},${}
  9. python中最难的是什么_Python 最难的问题你猜是什么?
  10. jquery.form.js java_使用jQuery.form.js/springmvc框架实现文件上传功能
  11. (多重背包+记录路径)Charlie's Change (poj 1787)
  12. 大数据之-Hadoop之HDFS_合并FsImage和Edits文件_之CheckPoint时间设置---大数据之hadoop工作笔记0072
  13. C++知识整理 内存模型和命名空间
  14. java进度条代码,java进度条代码该怎么编写?
  15. 进公司不会用 Git 拉项目!第二天被开除?
  16. Spark系列之Spark体系架构
  17. sqlMap embedded=iSinta.Beiwo.Infrastructure.Mappers.Member.MemberAddress.xml, iSinta.Beiwo.Inf
  18. 【随笔】2022的一些想法,关于多巴胺戒断
  19. sourcetree安装中net Framework安装失败问题
  20. 蔡高厅高等数学 06 数列极限的定义、数列收敛的性质1

热门文章

  1. Uni-app + uview 个人信息页 修改用户昵称、性别、个性签名
  2. ajax提交form表单,后台接收不到值
  3. 如何使用opencv进行目标追踪
  4. 22 款终端生产力工具,效率飞起!
  5. HTML5期末大作业:动漫网站设计——动漫电影《你的名字》(7页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页设计期末大作业_网页设计平时作业
  6. 802.11AX无线速率计算
  7. 计算机xp考试理论试题,2016年全国职称计算机考试WindowsXP基础试题及答案2
  8. 游戏自评——从电竞化看LOL的设计/修改思路
  9. Chinar 祝贺大家2019新年快乐!
  10. 首席新媒体黎想教程:线上活动推广执行手册——第一篇