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>
时间: 2024-11-11 18:23:09

dom 拖拽回放的相关文章

鼠标拖拽回放

<html> <head> <title>拖拽回放</title> <meta charest="utf-8"> <style> div{width: 80px;height: 80px;background: red;position: absolute;} </style> <script> window.onload=function(){ var oInp=document.getE

拖拽回放

<!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>完美拖拽</title> <style type="text/css"> html, body { overflow:hidden; } body, div, h

事件拖拽回放事件

<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> #div1{ width: 100px; height: 100px; background: blue; position: absolute;left: 0px; top: 0px; } *{ margin: 0px; padding: 0px; } </style&

dom 拖拽div

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> #div1{ width:100px; height:100px; background:red; position:absolute; } </style> <script> window.onload = func

通过Ztree生成页面html元素Dom树,以及拖拽改变元素的位置

zTree 是一款依靠 jQuery 实现的多功能 "树插件",http://www.treejs.cn/v3/main.php#_zTreeInfo,功能强大,不多赘述. 下面我将介绍如何实现使用该插件生成HTML元素Dom树,并对其进行多样操作. 先贴上一个简单的HTML页面(直接拿的ztree的用的,画面简单实用,里面的文字内容不用在意) 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-e

js实现回放拖拽轨迹-------Day48

今天有点小高兴,csdn博客浏览量过万了,在过去还从来没有过这么高的浏览量呢.不得不说.太多时候还是有些矫情.可看到这些鼓舞还是忍不住高兴啊,至少,这样让我有一种行内人员的感觉,吾道不孤啊. 闲话不多说.继续今天的记录,记录回放拖拽痕迹,先从过程上进行分析: 1.要实现回放拖拽痕迹,则必须先有记录: 2.要记录拖拽痕迹,则必需要实现拖拽. 这个问题前几天以前做到过.当时实现的也略有瑕疵,但大致的实现方法已经了然于胸.所以今天在实现这个问题的时候速度快了不少,着实高兴了一番,今天再实现了一遍之后理

拖拽对DOM的影响

前一段时间公司要对上传列表中多文本输入框添加富文本编辑功能,所以最初的想法是引入富文本编辑器插件,对每个多文本输入框实例化一次.但是上传列表还有一个可以拖拽排序的功能,在初次实例化以后,再拖拽元素就会出现富文本编辑器功能无法使用. 原因:拖拽排序的原理是对被拖拽元素clone一个副本,在拖拽完成以后再将DOM复制到确定的位置:DOM结构发生了变化,被拖放到的位置的DOM元素实际是复制过去的副本,之前初始化的功能(绑定的事件)都无法使用(事件代理,jquery.on()),解决办法,拖拽的元素完成

Swing结合dom以及拖拽的Android Layout xml文件处理器

无聊之作,只是从布局文件中提取出定义了android:id属性的控件名称,方便在编写class文件的时候能够跟layout文件保持一致. 原理很简单,直接上代码: 1.swing主界面代码 1 package com.zhyy.layoutparser; 2 3 import javax.swing.*; 4 import java.awt.*; 5 import java.awt.datatransfer.Clipboard; 6 import java.awt.datatransfer.St

完美拖拽及回放

2019-08-09 21:54:40 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>完美拖拽</title> <style type="text/css"> html, body { overflow: hidden; } body, div, h2, p { margin: 0; padding: 0; }