一,在网页中添加一个独立的显示窗口,为窗口添加onmousedown和onmouseup事件来使窗口可以通过鼠标的拖拽移动。

<!DOCTYPE html>
<html>
<head lang="en"><meta charset="UTF-8"><title></title><script type="text/javascript" src="js/User3.js"></script><style type="text/css">body{width: 2000px;height: 2000px;}.box{width: 150px;height: 200px;position: absolute;right: 20px;border: 1px solid red;}.aff{transition:all 1s;}</style><script language="JavaScript">/* obj.addEventListener(xEvent,fn, true)事件冒泡例: 当有父子关系的元素,都触发单击事件的时候,会形成事件流,事件流中的事件会依顺序逐个触发。addEventListener第三个参数说明第三个参数是指事件的冒泡触发顺序,false 表示从子元素到父元素依次触发事件。true  表示从父元素到子元素依次触发事件。* */function scrollEvent(obj,xEvent, fn) {if(obj.attachEvent){obj.attachEvent("on"+xEvent,fn);}if(obj.addEventListener){obj.addEventListener(xEvent,fn, true);//addEventListener  w3c标准。
            }}/*DOMMouseScroll  mousewheel鼠标滚动后才会触发事件。scroll 鼠标滚动时就会触发的事件*/window.onload = function(){dom.addClass( $("oDiv"),"aff");var  top=$("oDiv").style.top;top=parseInt(top);//添加scroll事件
            scrollEvent(document,"scroll",function(){var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;var h=scrollTop+top+"px";$("oDiv").style.top=h;});//鼠标按下事件
            $("oDive").onmousedown = function(){dom.removeClass($("oDiv"),"aff");//获取鼠标位置var ev=window.event||event;var ofX= ev.clientX - $("oDiv").offsetLeft;var ofY= ev.clientY - $("oDiv").offsetTop;//鼠标移动事件
                document.onmousemove = function(){ev=window.event||event;var x=ev.clientX;var y= ev.clientY;$("oDiv").style.left = (x-ofX)+"px";$("oDiv").style.top = (y-ofY)+"px";}};//鼠标离开位置
            $("oDive").onmouseup = function(){dom.addClass( $("oDiv"),"aff");//移除事件
                document.onmousemove = null;}}</script></head>
<!--事件冒泡-->
<body >
<div style="top:40px;" class="box" id="oDiv"><div style="height: 30px;background-color: #000000;" id="oDive"></div></div></body>
</html>

转载于:https://www.cnblogs.com/dybe/p/8110863.html

js:为窗口盒子添加拖拽事件相关推荐

  1. html百度地图拖动,百度地图为marker添加拖拽事件

    百度的API里面并没有,但是百度的好多方法都和谷歌地图的类似,参照谷歌地图写法,写了一个简单拖拽事件 body, html,#allmap {width: 100%;height: 100%;over ...

  2. html最小化窗口,[转载]js实现窗口(支持拉伸,拖拽,最大化,最小化,滚动

    雨亭原创,转载注明 执行效果: 一窗体实现的功能: 1.鼠标拖动. 2.八个方向的拉伸. 3.可定制窗口标题,内容(文本或HTML),初始大小和位置,最小宽度,高度. 4.支持滚动条. 5.关闭窗体. ...

  3. 标签页添加点击事件和拖拽事件

    :draggable="true" 放在Tabs表示标签页可拖拽 @on-drag-drop="handleDragDrop" 给Tabs添加拖拽事件: cha ...

  4. vuejs 原生JS 拖拽事件案例

    原生JS or Vue 事件案例合集(详细) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 Section 1 单个或多个鼠标拖拽事件的理解 提示:写完文章后,目录可以自动生成,如 ...

  5. JavaScript(11) - 阻止事件冒泡和默认行为,拖拽,事件监听器

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.阻止事件冒泡和默认行为 二.拖拽 1, 实现拖拽相关的三大事件: 2, 实现拖拽思路: 1, 给目标元素添加onmous ...

  6. JavaScript学习第十六天(键盘事件、表单事件、拖拽事件、框架事件、媒体事件)

    文章目录 键盘事件 表单事件 剪贴板事件 拖拽事件 打印事件 框架事件 媒体事件 总结 键盘事件 onkeydown 键盘按下事件,当有按键按下时触发 onkeyup 键盘松开事件,当有按键被松开时触 ...

  7. css拖拽调整高度,两种为wangEditor添加拖拽调整高度的方式:CSS3和jQuery UI

    wangEditor是一款优秀的Web富文本编辑器,但如果能像KindEditor那样支持拖拽调整高度就更好了.有两种方式可以为wangEditor添加这一功能,这里使用的wangEditor版本为2 ...

  8. 弹出框的鼠标拖拽事件

    几个与定位有关的概念: js: clientX/clientY属性:获得事件发生时鼠标指针在视口中的水平和垂直坐标. screenX/screenY属性:获取鼠标事件发生时鼠标光标相对于整个电脑屏幕的 ...

  9. jQuery画布以及拖拽事件

    jQuery 画布 canvas 属于html元素 H5新元素 需要结合js 在页面上放置一个canvas元素,就相当于放置了一块画布 可以绘制路径 矩形 圆形 字符 图像 主要属性: width 默 ...

最新文章

  1. 一文运维zookeeper
  2. PAT甲题题解-1050. String Subtraction (20)-水题
  3. word List 47
  4. jmeter生成html报告修改,Jmeter生成html报告(示例代码)
  5. Java ——异常处理
  6. java读取百万条记录出错_如何实现导出百万条数据到EXCEL中不报OOM异常?
  7. Fiddler 介绍二
  8. 低介电常数微波介质陶瓷基覆铜板的研究
  9. radius认证服务器系统,03-Radius认证配置举例
  10. 新手上路:在利用爬取中国知网(下载报纸)的诸多问题
  11. 阿里云服务器被恶意程序攻击
  12. MySql Sharding分表、分库、分片和分区知识讲解
  13. 院内导航方案怎么样,低成本的智慧医院室内导航一站式解决方案
  14. 一个更好的可视化微服务架构的方式
  15. 赚翻,快速带你学会Python爬虫接私单
  16. Hadoop简介和家族成员介绍
  17. 前端(react)上传到阿里云OSS存储 实例
  18. VSCode中i18n ally插件无效的几个原因
  19. 过度完美主义让人焦虑
  20. 如何让macOS的「终端」走代理

热门文章

  1. js ios和安卓的兼容时间处理
  2. 使用Incapsula免费CDN加速godaddy空间
  3. mysql出现core dumped_mysql 段错误 (core dumped)
  4. 为什么那么多人执着于写博客
  5. UKEY通信CCID
  6. 计算机系统--机器指令与汇编
  7. cad抛物线曲线lisp_CAD如何画抛物线啊?
  8. R三星463无线网卡驱动,声音驱动程序,FN快捷键驱动,Easy_Display_Manager
  9. 细说Ansible主机清单inventory
  10. soul网关mysql8_Dubbo学习系列之十七(微服务Soul网关)