拖拽

作者: 洛洛kkkkkk | 来源:发表于2017-04-20 19:28 被阅读0次
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #myCanvas {
                box-shadow: 0 0 0 10px red;
            }
        </style>
    </head>

    <body>
        <canvas id="myCanvas" width="600" height="600"></canvas>
    </body>
    <script type="text/javascript">
        var myCanvas = document.getElementById("myCanvas");
        var context = myCanvas.getContext("2d");
        var xx = 300;
        var yy = 300;

        function yuanlai() {
            context.fillStyle = "blue";
            context.fillRect(150, 150, 100, 100);
            context.fill();
        }
        yuanlai();

        context.translate(xx, yy);

        function draw() {
            context.fillStyle = "#000000";
            context.fillRect(-50, -50, 100, 100);
            context.fill();
        }
        draw();
        myCanvas.onmousedown = function(e) {
            var x = e.offsetX;
            var y = e.offsetY;
            var sx = x;
            var sy = y;
            if(x - xx >= -50 && x - xx <= 50 && y - yy >= -50 && y - yy <= 50) {
                document.onmousemove = function(ev) {
                    var ex = ev.offsetX;
                    var ey = ev.offsetY;
                    var cx = ex - sx;
                    var cy = ey - sy;
                    sx = ex;
                    sy = ey;
                    xx = xx + cx;
                    yy = yy + cy;
                    if(xx + 50 > 600 || xx - 50 < 0) {
                        xx = xx - cx;
                        cx = 0;
                    }
                    if(yy + 50 > 600 || yy - 50 < 0) {
                        yy = yy - cy;
                        cy = 0;
                    }

                    context.translate(cx, cy);
                    context.clearRect(-xx - 200, -yy - 200, 1000, 1000)
                    draw();
                    context.save();
                    context.translate(-xx, -yy);
                    yuanlai();
                    context.restore();
                    if(xx+50 > 150 && xx-50 < 250 && yy+50 > 150 && yy-50 < 250) {
                        console.log("碰到了");
                    }
                }
            }
        }
        document.onmouseup = function() {
            document.onmousemove = function() {

            }
        }
    </script>

</html>

相关文章

  • 拖拽操作

    应用: 1.拖拽排序2.拖拽上传3.拖拽裁剪 拖拽流程 确定可拖拽的内容-->开始拖拽-->拖拽过程-->结束拖拽...

  • Html5 + Css 3 文件拖拽上传功能

    拖拽上传文件功能 拖拽事件 拖拽元素ondrag 应用于拖拽元素,整个拖拽过程都会调用ondragstart应用...

  • 拖拽上传

    拖拽事件 拖拽元素ondrag 应用于拖拽元素,整个拖拽过程都会调用ondragstart应用于拖拽元素,...

  • js:拖拽事件

    拖拽事件 ondragstart当拖拽元素被开始拖拽时,event:拖拽元素。[从操作系统向浏览器拖拽文件不会触发...

  • HTML 5 拖拽

    @(HTML5)[HTML 5拖拽] [TOC] 十三、HTML 5 拖拽 HTML 5 拖拽事件 图片自带拖拽功...

  • JQuery UI 拖拽排序

    禁用拖拽: 启用拖拽:

  • MacOS 开发(十六) : 文件拖拽

    文件拖拽的核心是拖拽目标视图 (DragDestinationView),此方法会检测目标是否可拖拽类型,拖拽文件...

  • HTML5拖拽上传

    传统拖拽效果小demohtml5实现拖拽小demo调查问卷小demo拖拽拼图小demo拖拽上传小demo h5拖拽...

  • HTML5拖拽drag

    通过拖拽实现页面元素的位置改变 实现拖拽效果 源元素 - 要拖拽的文件 目标元素 - 要拖拽到哪里去 目前实现拖拽...

  • 元素拖曳 H5

    拖拽 如何让一个元素变成拖拽元素 draggable=‘true’ ondrag 应用于拖拽元素,整个拖拽过程都会...

网友评论

      本文标题:拖拽

      本文链接:https://www.haomeiwen.com/subject/gaolzttx.html