javascript 拖拽事件
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Document</title>
- <style media="screen">
- * {
- margin: 0;
- padding: 0;
- }
- .nav {
- height: 30px;
- background-color: lemonchiffon;
- line-height: 30px;
- padding-left: 30px;
- }
- .nav a {
- text-align: center;
- font-size: 14px;
- text-decoration: none;
- color: #000;
- }
- .d-box {
- width: 400px;
- height: 300px;
- border: 5px solid #ccc;
- box-shadow: 2px #666;
- position: absolute;
- top: 40%;
- left: 40%;
- }
- .hd {
- width: 100%;
- height: 25px;
- background-color: #777;
- line-height: 25px;
- color: #fff;
- cursor: move;
- }
- #box_close {
- float: right;
- cursor: pointer;
- }
- </style>
- </head>
- <body>
- <!-- 顶部注册信息 -->
- <div class="nav">
- <a href="javascript:;" id="register">注册信息</a>
- </div>
- <!-- 可以移动的对话框 -->
- <div class="d-box" id="d_box">
- <div class="hd" id="drop">
- <i>注册信息 (可以拖拽)</i>
- <span id="box_close">【关闭】</span>
- </div>
- <div class="bd"></div>
- </div>
- <script src="animate.js" charset="utf-8"></script>
- <script type="text/javascript">
- var box = document.getElementById("d_box");
- var drop = document.getElementById("drop");
- //先按下,在移动触动此事件
- drop.onmousedown = function(event){
- //获取鼠标在盒子中的坐标,将来移动的时候减去保证鼠标在盒子的指定位置
- event = event || window.event;
- var pagex = event.pageX || scroll().left + event.clientX;
- var pagey = event.pageY || scroll().top + event.clientY;
- var x = pagex - box.offsetLeft;
- var y = pagey - box.offsetTop;
- document.onmousemove = function(event){
- //把鼠标的坐标赋值给对话框。
- event = event || window.event;
- var xx = event.pageX || scroll().left + event.clientX;
- var yy = event.pageY || scroll().top + event.clientY;
- //二次操作鼠标位置
- targetx = xx - x;
- targety = yy - y;
- //给box赋值
- box.style.left = targetx + "px";
- box.style.top = targety + "px";
- //禁止文本选中(选中后取消)
- window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
- }
- }
- //事件解绑
- drop.onmouseup = function(){
- document.onmousemove = null;
- }
- </script>
- </body>
- </html>
javascript 拖拽事件的更多相关文章
- day52—JavaScript拖拽事件的应用(自定义滚动条)
转行学开发,代码100天——2018-05-07 前面的记录里展示了JavaScript中鼠标拖拽功能,今天利用拖拽功能实现另一个应用场景——自定义滚动条(作为控制器)的用法. 常通过自定义滚动条控制 ...
- 每日分享!~ JavaScript(拖拽事件)
浏览器的拖拉事件 拖拉(drag)指的是,用户在某个对象上按下鼠标键不放,拖动它到另一个位置,然后释放鼠标键,将该对象放在那里. 拖拉的对象有好几种,包括元素节点.图片.链接.选中的文字等等.在网页中 ...
- javascript拖拽事件
<!DOCTYPE html> <html> <head> <title></title> <style type="tex ...
- day50—JavaScript鼠标拖拽事件
转行学开发,代码100天——2018-05-05 今天通过鼠标拖拽事件复习巩固一下鼠标事件. 鼠标拖拽事件需要记住两点: 1.距离不变 2.鼠标事件(按下,移动,抬起) <div id=&quo ...
- html5拖拽事件 xhr2 实现文件上传 含进度条
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Javascript 拖拽的一些高级的应用——逐行分析代码,让你轻松了解拖拽的原理
我们看看之前的拖拽在周围有东西的时候会出现什么问题? 在高级浏览器中不会有啥问题,我们放到IE7下面测试一下,问题就出来了.如图 我们可以很清楚的看到,文字都已经被选中了.那这个用户体验很不好,用起来 ...
- Javascript 拖拽的一些简单的应用——逐行分析代码,让你轻松了解拖拽的原理
今天我们来看看如何让拖拽的物体不能拖出某个div之外和拖拽的吸附功能 上次讲到我们的拖拽是不可拖出可视区范围的,在这基础上我们加个父级的div,不让他拖出父级.原理和之前的一样,简单吧. <di ...
- Javascript 拖拽雏形中的一些问题——逐行分析代码,让你轻松了解拖拽的原理
今天我们就来解决上一次拖拽雏形中的一些问题.下面看看有哪些问题? 附上上期的Javascript代码,方便大家查看问题. <script type="text/javascript&q ...
- 完美实现鼠标拖拽事件,解决各种小bug,基于jquery
鼠标拖拽事件是web中使用频率极高的事件,之前写过的代码包括网上的代码,总存在各种各样的问题,包括拖拽体验差,松开鼠标后拖拽效果仍存在以及代码冗余过大等 本次我才用jQuery实现一个尽可能高效的拖拽 ...
随机推荐
- Laravel - 1
Laravel - 1 Laravel是一个很强大又非常优雅的php框架,但是Laravel的很多组件都是由社区协作的结果,Composer是php开发的一个依赖管理工具,但是墙把绝大多数的开发者堵在 ...
- SQLPLUS SQLCMD连接管理oracle sqlserver的简单用法
1. SQLPLUS 与plsql一样,其实不需要安装oracle客户端,只要是有sqlplus的即时客户端 以及将目录放置到path或者是相应的oralce_home变量中即可. 打开运行cmd s ...
- sort和uniq的应用实例
sort 排序 uniq 1.语法:sort [option]... [file]... 2.选项:-k key,关键子,指定以那个列来排序.如果不指定,默认将正行作为关键字排序-n 对数值排序.默认 ...
- java离线地图web GIS制作
因为项目需求,要做一个web地图,之前做过高德的在线地图,它提供了一系列的API,并且由于是国产的,所以开发起来比较容易,现在由于项目是内网使用的,所以需要使用离线地图,由此便开始了: Web GIS ...
- ThinkPHP 框架出现安全隐患 ,导致网站被持续攻击一周
导读 据 ZDNET 报道,有超过 45000 个中国网站由于使用 ThinkPHP 框架受到了攻击. 这些攻击针对的是使用 ThinkPHP 构建的网站,ThinkPHP 是一个中国的 PHP 框架 ...
- python构建bp神经网络_曲线拟合(一个隐藏层)__2.代码实现
IDE:jupyter 抽象程度可能不是那么高,以后再优化. 理论和代码实现的差距还是挺大的 数据集请查看 python构建bp神经网络(一个隐藏层)__1.数据可视化 部分代码预览 git上传.ip ...
- 自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x
点击返回:自学Aruba之路 自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x 1. 采用InterDB认证服务器完成802.1X认证 (Aruba650) ...
- GDB最常用的命令
为了调试我的指针LCT--我学会了如何使用gdb! 粘一个常用命令表(原文地址:https://blog.csdn.net/tzshlyt/article/details/53668885) gcc ...
- [luogu1912][bzoj4196][NOI2015]软件管理器
题解 树剖模板题,每次改变是\(1\)或者是\(0\),区间求和和区间修改就可了. ac代码 # include <cstdio> # include <cstring> # ...
- hdu3072 Intelligence System (最小树形图?)
题意:给一个有向图,问要从0号点能到达所有点所需要经过路径的最小权值和是多少,然而,若两点强联通,则这两点互相到达不需要花费.保证0号点能到达所有点 tarjan缩点以后直接取每个点入边中花费最小的即 ...