div在屏幕任意位置拖动

news/2024/7/11 0:14:49 标签: js, css, jquery, html, javascript

div在屏幕任意位置拖动

主要就是三点:

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

html" title=js>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').html" title=css>css({
           'left':x,
           'top':y
       })
   })
});
// 鼠标抬起事件
$(document).mouseup(function(){
   $(".box").unbind("mousemove")
})




http://www.niftyadmin.cn/n/1066385.html

相关文章

aspx小试

aspx小试 一直对asp.net编程比较抵触&#xff0c;多次接触都没怎么搞懂&#xff0c;今天派一任务&#xff0c;顿时头大了。 做一个页面&#xff0c;根据参数展示图片 protected void Page_Load(object sender, EventArgs e){string id Request.QueryString["id"];if…

[转 scrum] 任务板(墙)Task Boards

原文地址&#xff1a;http://www.scrumcn.com/scrumbase/html/?44.html任务板&#xff08;墙&#xff09;展现了我们在Sprint过程中所有要完成的任务。在Sprint过程中我们要不断的更新它。–如果某个开发人员想到了一个任务他就可以把这个任务写下来放在任务墙上。 无论每日站…

js实现图片、视屏上传在线预览功能

js实现图片、视屏上传在线预览功能 关键代码如下&#xff1a; css模块: <style>.fileBox{width: 500px;height: 300px;border: 1px solid black;}video{width: 500px;height: 300px;}img{width: 500px;height: 300px;}</style>html模块: <div class"box…

【C语言Tips】对于typedef的一些理解(typedef和define的区别)

背景&#xff1a; 看到校内上的每天学点C语言公共主页发了这样一条状态&#xff1a;typedef char *String_t;和#define String_d char * 这两句在使用上有什么区别?。 然后百度了一下&#xff0c;看到一个比较靠谱的回答。 解释&#xff1a; 简单来说。 1&#xff09; #define…

java get请求参数乱码_servlet获取get请求的参数时,中文乱码

// 解决中文乱码问题String encode "UTF-8";if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0|| request.getHeader("User-Agent").toUpperCase().indexOf("TRIDENT") > 0 ) {// IE浏览器enc…

Tips 2 MVC实现多个按钮提交的几种方法

http://www.cnblogs.com/wuchang/archive/2010/01/29/1658916.html 写的很详细了。转载于:https://www.cnblogs.com/yuanhuaming/archive/2010/03/18/1688983.html

Javascript Patterns--读书笔记10 (Strategy)

Strategy模式允许你在运行的时候可以选择不同的算法。你的代码可以提供一个统一的接口&#xff0c;但是指定的任务可以根据不同的上下文来选择不同的算不了法。来看一个用strategy模式来解决问题的例子&#xff1a;表单检查。你可以创建一个validate()方法。我们用这个方法来检…

js将url地址中的信息转化为对象obj

js将url地址中的信息转化为对象obj function urlToObj(str) {let obj {};let str1 str.split("?");let str2 str1[1].split("&"); //["a1", "b2", "c3"]for (let i 0; i <str2.length ; i) {let str3 str2[i…