clientX,Y,鼠标的位置

document.documentElement.clientWidth:获取可视区域的宽度

document.documentElement.clientHeight:获取可视区域的高度

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
  #div1{
   width:100px;
   height: 100px;
   background-color: red;
   position:absolute;
  }
 </style>
 <script type="text/javascript">
  window.οnlοad=function(){
   var oDiv=document.getElementById("div1")
   var disX=0;
   var disY=0;
   
   //给document添加事件防止拖拽太快跑出div(document无限大)
   document.οnmοusedοwn=function(ev){
    var oEvent=ev||event;
    
    disX=oEvent.clientX-oDiv.offsetLeft;
    disY=oEvent.clientY-oDiv.offsetTop;
    //clientX,Y,鼠标的位置
    document.οnmοusemοve=function(ev){
     
     var oEvent=ev||event;
     var l=oEvent.clientX-disX;
     var t=oEvent.clientY-disY;
     //阻止div跑出页面
     if(l<0){l=0;}
     if(t<0){t=0;}
     if(l>document.documentElement.clientWidth-oDiv.offsetWidth){l=document.documentElement.clientWidth-oDiv.offsetWidth;}
     if(t>document.documentElement.clientHeight-oDiv.offsetHeight){t=document.documentElement.clientHeight-oDiv.offsetHeight;}
     oDiv.style.left=l+'px';
     oDiv.style.top=t+'px';
     
    }
    document.οnmοuseup=function(){
     document.οnmοusemοve=null;
     document.οnmοuseup=null;
    };
    //防止火狐的bug
    return false;
   }
  }
 </script>
 </head>
 
 <body>
  <div id="div1"></div>
 </body>
</html>

转载于:https://www.cnblogs.com/nanhua097/p/6481209.html

javascript简单拖拽效果相关推荐

  1. Javascript实现拖拽效果

    我们执行拖拽操作时, 1.按住某元素 2.移动鼠标 3.移动鼠标到相应位置后松开鼠标 基于以上操作,页面拖拽效果需要三个事件 onmousedown onmousemove onmouseup 在on ...

  2. html js点击字图片下拉,JavaScript实现文字与图片拖拽效果的方法

    本文实例讲述了JavaScript实现文字与图片拖拽效果的方法.分享给大家供大家参考.具体实现方法如下: JavaScript实现文字与图片的拖拽效果 *{padding:0;margin:0;} . ...

  3. JavaScript实现鼠标拖拽效果

    JavaScript实现鼠标拖拽效果 前几篇博客一直在讲鼠标的移动事件相关的效果,今天再来讲一讲如何利用鼠标事件实现拖拽div块移动的效果.效果如图: HTML代码: <div id=" ...

  4. 一个用在手机上的简单js拖拽效果

    http://blog.163.com/xiaoyou_000/blog/static/65067392201521664214534/ http://www.17sucai.com/pins/876 ...

  5. 怎么用javascript进行拖拽(转摘)

    本文译自:http://www.webreference.com/programming/javascript/mk/column2/index.html 所有版权归原文所有 由sohotx.com雪 ...

  6. h5物体拖动_html5实现拖拽效果

    在此之前,实现拖拽操作都是开发人员自定义逻辑实现的,但是HTML5提供了拖拽API ,使得拖拽操作的实现变得简单. fish.gif 拖拽 #div1 { width: 100px; height: ...

  7. html拖拽模态框,bootstrap模态框实现拖拽效果

    本文实例为大家分享了bootstrap模态框实现拖拽效果,供大家参考,具体内容如下 项目中用的有点乱,jquery和angularjs一起搞,有些插件用的jquery版本的,有的插件用的ng版本的.搞 ...

  8. 盒子拖拽效果,原生js实现

    原生js实现拖拽效果 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  9. React.js实现原生js拖拽效果及思考

    一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...

最新文章

  1. 卷积神经网络初探 | 数据科学家联盟 http://dataunion.org/20942.html
  2. scala把序列分解成子集(group by,partition)
  3. [JavaWeb-MySQL]DCL管理用户,授权
  4. codevs 1283 等差子序列
  5. 根据children动态复杂表头excel导出_Java高级特性-注解:注解实现Excel导出功能
  6. 如何用 nginx 做 postfix 的 SMTP 反向代理,以及 XCLIENT 的支持
  7. 嵌入式-stm32学习:使用固件库点亮LED
  8. 企业业务流程管理软件功能简介
  9. 用微博图片反查上传者信息
  10. 强化学习-利用Q-Learning算法玩走方格游戏(C++)
  11. java文字水印换行_Java实现图片水印文字换行、平铺、旋转效果-Go语言中文社区...
  12. 梦想世界3手游服务器维护,梦想世界手游进不去 闪退及登录不上解决方法
  13. MuleSoft知识总结-1.MuleSoft的简要介绍
  14. mtd和mtdblock的区别
  15. 利用随机森林对特征重要性进行评估(公式原理)
  16. 骑行中央公园,探索纽约“后花园”别样的美
  17. MacBook如何进行分屏
  18. 玻璃幕墙清洗机器人市场前景_玻璃幕墙越障清洁机器人
  19. 用友APILink——全国最大的企业工商信息提供平台
  20. 传统推荐模型(一)协同过滤算法_UserCF和ItemCF

热门文章

  1. 有哪些不怎么火,实际上却很厉害的软件
  2. 越是糟心时,越要用起写作这个武器
  3. 人是需要一个圈子互相激励的
  4. 谈一谈不常见却又不可少的ThreadLocal
  5. LaTex ——P3 中文处理办法
  6. Qt——P7 对象树
  7. 重载运算符:作为成员函数还是非成员函数
  8. Java-Arrays数组操作
  9. wget在进行https下载时超时不生效问题
  10. java中的getnumber怎么用_java安全编码指南之:Number操作详解