dom 拖拽回放
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1{
height:100px;
width:100px;
background:pink;
position:absolute;
}
</style>
<script>
window.onload = function ()
{
var obtn = document.getElementById('btn');
var odiv = document.getElementById('div1');
var arrL = [];
var arrT = []; odiv.onmousedown = function (ev)
{
var ev = ev || event;
var dix = ev.clientX - this.offsetLeft;
var diy = ev.clientY - this.offsetTop; if(odiv.setCaputre)
{
odiv.setCapture();
} document.onmousemove = function (ev)
{
var ev = ev || event;
var L = ev.clientX - dix;
var T = ev.clientY - diy; if(T < 0)
{
T = 0;
}else if( T > document.documentElement.clientHeight - odiv.offsetHeight)
{
T = document.documentElement.clientHeight - odiv.offsetHeight;
} if( L < 0)
{
L = 0;
}
else if(L > document.documentElement.clientWidth - odiv.offsetWidth)
{
L = document.documentElement.clientWidth - odiv.offsetWidth;
}
arrT.push(T);
arrL.push(L); odiv.style.left = L + 'px';
odiv.style.top = T + 'px';
};
document.onmouseup = function ()
{
document.onmousemove = document.onmousedown = null;
if( odiv.releaseCapture)
{
odiv.releaseCapture();
}
};
return false;
}; obtn.onclick = function ()
{
var i = 0;
arrT.reverse();
arrL.reverse(); obtn.timer = setInterval( function ()
{
odiv.style.top = arrT[i]+ 'px';
odiv.style.left = arrL[i] + 'px'; i++; if(i == arrL.length)
{
clearInterval(obtn.timer);
arrT = [];
arrL = [];
}
},20);
}; };
</script>
</head> <body>
<input type="button" id="btn" value="回放">
<div id="div1"></div>
</body>
</html>
dom 拖拽回放的更多相关文章
- javascript实现的拖拽回放
这个功能很简单,直接贴代码啊: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- 拼图 canvas分割 dom拖拽 pc 移动端
参考:Canvas drag 实现拖拽拼图小游戏 参考的案例,不支持手机端.总结下实现过程中遇到的小坑. gitHub:https://github.com/WppFrontEnd/puzzle 大概 ...
- dom 拖拽div
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 拖拽对DOM的影响
前一段时间公司要对上传列表中多文本输入框添加富文本编辑功能,所以最初的想法是引入富文本编辑器插件,对每个多文本输入框实例化一次.但是上传列表还有一个可以拖拽排序的功能,在初次实例化以后,再拖拽元素就会 ...
- 通过Ztree生成页面html元素Dom树,以及拖拽改变元素的位置
zTree 是一款依靠 jQuery 实现的多功能 "树插件",http://www.treejs.cn/v3/main.php#_zTreeInfo,功能强大,不多赘述. 下面我 ...
- 鼠标拖拽定位和DOM各种尺寸详解
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js实现回放拖拽轨迹-------Day48
今天有点小高兴,csdn博客浏览量过万了,在过去还从来没有过这么高的浏览量呢.不得不说.太多时候还是有些矫情.可看到这些鼓舞还是忍不住高兴啊,至少,这样让我有一种行内人员的感觉,吾道不孤啊. 闲话不多 ...
- Javascript之盒子拖拽(跟随鼠标、边界限定、轨迹回放)
本文通过拖拽案例,实现"跟随鼠标.边界限定.轨迹回放"三大效果: 完整代码中有详尽注释,故不再进行细致讲解: 对于案例中需要注意的重点或易错点问题,会总结在最后. 效果图(仅演示左 ...
- div/dom元素拖拽缩放插件,纯js实现拖拽缩放,不依赖jQuery~
产品需求,需要用到对div(dom)进行拖拽缩放操作,看到有好多插件,要么依赖jQuery,要么文件太大. 封装了一个插件,不压缩状态下5KB. html <!DOCTYPE html> ...
随机推荐
- datagridview中combobox类型的cell选中一个下拉列表之后,立即生效的事件
public event EventHandler CurrentCellDirtyStateChanged 当单元格的内容已更改,但更改尚未保存时,该单元格将标记为已修改. 此事件通常会在以下情况下 ...
- 三方贸易-drop ship
一.三方贸易的简单理解 三方贸易:即当客户向我方下达采购订单要求订购货物,我方再向供应商下达相同采购订单,并要求供应商直接送货至客户处的交易形式,待交易完成后,由供应商向我方开具应收票据,我方向客户开 ...
- IBatis.Net 批量插入数据
利用了iterate标签来做的: 先看iterate标签几个属性的: prepend-加在open指定的符号之前的符号,添加在语句的前面(可选) property-类型为ArrayList的用于遍历的 ...
- 如何将开源项目部分代码作为private放在github上?
很多时候,你的一些项目本身都是开源的,但是基于该开源项目,你可能做了部分更有价值的工作,或者由于其他原因,你不希望将这部分代码放到public上,那么有以下简单方法: 1. 创建一个private b ...
- 【第七篇】bootstrap的3级菜单样式,支持母版页保留打开状态
razor视图的,母版页 依旧不多说,直接上代码 <ul class="sidebar-menu"> @for (int i = 0; i < mList.Cou ...
- HDU 1372 Knight Moves【BFS】
题意:给出8*8的棋盘,给出起点和终点,问最少走几步到达终点. 因为骑士的走法和马的走法是一样的,走日字形(四个象限的横竖的日字形) 另外字母转换成坐标的时候仔细一点(因为这个WA了两次---@_@) ...
- IOS中(类似于进度条哪种效果)MBProgressHUD的使用
1.显示HUD MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; hud.labelText = ...
- Python [Leetcode 344]Reverse String
题目描述: Write a function that takes a string as input and returns the string reversed. Example:Given s ...
- dede 首页调用单页->栏目内容
{dede:sql sql='Select content from dede_arctype where id=47'} [field:content/] {/dede:sql}
- Heritrix源码分析(十四) 如何让Heritrix不间断的抓取(转)
欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) : 118972724 本博客已迁移到本人独立博客: http://www.yun5u ...