拖拽回放

<!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, h2, p {
        margin:0;
        padding:0;
}
body {
        color:#fff;
        background:#000;
        font:12px/2 Arial;
}
p {
        padding:0 10px;
        margin-top:10px;
}
span {
        color:#ff0;
        padding-left:5px;
}
#box {
        position:absolute;
        width:300px;
        height:150px;
        background:#333;
        border:2px solid #ccc;
        top:150px;
        left:400px;
        margin:0;
}
#box h2 {
        height:25px;
        cursor:move;
        background:#222;
        border-bottom:2px solid #ccc;
        text-align:right;
        padding:0 10px;
}
#box h2 a {
        color:#fff;
        font:12px/25px Arial;
        text-decoration:none;
        outline:none;
}
</style>
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
        var bDrag = false;
        var _x,_y;
        var $box=$("#box")
        var aPos = [{
                x: $("#box").offset().left,
                y: $("#box").offset().top
        }];
        $("span:eq(1)").text(aPos[0].y);
        $("span:eq(2)").text(aPos[0].x);
        $("#box h2:first").mousedown(function(event){
                var e=event || window.event;
                bDrag = true;
                _x=e.pageX-$box.position().left;
                _y=e.pageY-$box.position().top;
                return false
        })
        $(document).mousemove(function(event){
                if(!bDrag) return false;
                var e=event || window.event;
                var x=e.pageX-_x;
                var y=e.pageY-_y;
                var maxL = $(document).width() - $box.outerWidth();
        var maxT = $(document).height() - $box.outerHeight();
        x = x < 0 ? 0: x;
        x = x > maxL ? maxL: x;
        y = y < 0 ? 0: y;
        y = y > maxT ? maxT: y;
                $box.css({left:x,top:y});
                aPos.push({
            x: x,
            y: y
        });
                status()
                return false
        }).mouseup(function(){
                bDrag = false;
                status()
                return false
        })
        $("#box h2:first a").click(function(){
                if (aPos.length == 1) return;
        var timer = setInterval(function() {
            var oPos = aPos.pop();
            oPos ? ($box.css({left : oPos.x + "px", top : oPos.y + "px"})) : clearInterval(timer)
                        status();
        },30);
        }).mousedown(function(){return false})
        function status() {
        $("#box span:eq(0)").text(bDrag);
        $("#box span:eq(1)").text($box.position().top);
        $("#box span:eq(2)").text($box.position().left);
    }
    status()
})
</script>
</head>

<body>
<div id="box">
  <h2><a href="javascript:;">点击回放拖动轨迹</a></h2>
  <p><strong>Drag:</strong><span></span></p>
  <p><strong>top:</strong><span></span></p>
  <p><strong>left:</strong><span></span></p>
</div>
</body>
</html>

  

时间: 2024-12-06 17:32:23

拖拽回放的相关文章

鼠标拖拽回放

<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

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 = fun

事件拖拽回放事件

<!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&

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

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

完美拖拽及回放

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; }

完美拖拽 &amp;&amp;仿腾讯微博效果&amp;&amp; 自定义多级右键菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

拖拽原理以及代码实现

拖拽功能主要是用在让用户做一些自定义的动作,比如拖动排序,弹出框拖动移动等等:挺好玩儿.下面分享一下拖拽的原理,和码友们一起学习! 拖拽流程: 1)事件:onmousedown:onmousemove:onmouseup: 2)实现原理分析: 拖拽是通过获取鼠标移动的距离来实现的,即计算移动前的位置的坐标(x,y)与移动中的位置的坐标(x,y)差值.当onmousedown或onmousemove时,都可以获取到当前鼠标的位置,即移动前的坐标值与移动中的坐标值.参考如下图: 如上图所示: 在on

Qt之QAbstractItemView视图项拖拽(二)

一.需求说明 上一篇文章Qt之QAbstractItemView视图项拖拽(一)讲述了实现QAbstractItemView视图项拖拽的一种方式,是基于QDrag实现的,这个类是qt自己封装好了的,所以可定制性也就没有了那么强,最明显的是,这个类在执行exec方法后,mouse系列的回调接口就被阻塞了,随之而来的问题就是拖拽时item项没有了hover特性,为了解决这个问题,我们就不能使用QDrag类来实现拖拽了,这也是这篇文章我要讲述的内容. 二.效果展示 如图1是demo的效果展示,比较丑,

JAVA UI 拖拽功能

java GUI拖拽功能是很实用也相对高级一些的功能. 有一小部分的GUI控件支持他们有dragEnabled属性.这些JComponent包括:javax.swing.JColorChooserjavax.swing.JFileChooserjavax.swing.JListjavax.swing.JTablejavax.swing.JTreejavax.swing.text.JTextComponent 大部分的控件不支持没有这个属性,尤其是常用的jpanel和jframe. 一种简单的方法