Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在拖动DIV时读取其坐标?(Javascript)_Javascript_Jquery_Css_Html - Fatal编程技术网

如何在拖动DIV时读取其坐标?(Javascript)

如何在拖动DIV时读取其坐标?(Javascript),javascript,jquery,css,html,Javascript,Jquery,Css,Html,我想在拖动时读取一段时间的坐标,并将其与静态坐标进行比较,如果它们在拖动时的所有位置都相互交叉,则应显示一些消息。我想使用jquery或javascript在web上实现这一点。提前谢谢 代码可能是这样的(只是一个随机代码) 如果使用jQuery UI是一个选项,那么您可以使用jQuery UI Dragable来实现这一点 更多详情可在此查阅 在拖动过程中获取被拖动div的坐标,并将其与静态div和计算交点进行比较。使用下面的javascript代码获取元素的坐标位置 var elemant

我想在拖动时读取一段时间的坐标,并将其与静态坐标进行比较,如果它们在拖动时的所有位置都相互交叉,则应显示一些消息。我想使用jquery或javascript在web上实现这一点。提前谢谢

代码可能是这样的(只是一个随机代码)


如果使用jQuery UI是一个选项,那么您可以使用jQuery UI Dragable来实现这一点

更多详情可在此查阅


拖动过程中
获取被拖动div的坐标,并将其与静态div和计算交点进行比较。

使用下面的javascript代码获取元素的坐标位置

var elemant = document.getElementById('elementID'),
    left = element.offsetLeft, // returns  X coords
    top = element.offsetTop;  // returns Y coords
您可以使用“ondragover”事件,而不是手动检查坐标


您可以使用jquery获取任何元素的偏移量

var offset = $("#some-element").offset();

// log the values
console.log("top: " + offset.top+ "left: " + offset.left);
试试这个代码

<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/jquery-wp-content/themes/jquery/css/base.css?v=1">
<style>
    #myDiv
    {
        width: 20px;
        height: 20px;
        background-color: Red;
    }
</style>
<script>
    $(document).ready(function () {
        $("#myDiv").draggable({
            start: function (e, ui) {
                var parentOffset = $(this).parent().offset();
                var relX = e.pageX - parentOffset.left;
                var relY = e.pageY - parentOffset.top;
                $("#start").html(" x: " + relX + ", y: " + relY);
            },
            stop: function (e, ui) {
                var parentOffset = $(this).parent().offset();
                var relX = e.pageX - parentOffset.left;
                var relY = e.pageY - parentOffset.top;
                $("#end").html(" x: " + relX + ", y: " + relY);
            },
            drag: function (e, ui) {
                var parentOffset = $(this).parent().offset();
                var relX = e.pageX - parentOffset.left;
                var relY = e.pageY - parentOffset.top;
                $("#current").html(" x: " + relX + ", y: " + relY);
            }

        });
    });


</script>
</head>
<body>
start Position:<span id="start"></span>
<br />
End Position:<span id="end"></span>
<br />
Dragging Position<span id="current"></span>
<div id="myDiv">
</div>
</body>
</html>

#myDiv
{
宽度:20px;
高度:20px;
背景色:红色;
}
$(文档).ready(函数(){
美元(“#myDiv”)。可拖动({
开始:功能(e、ui){
var parentOffset=$(this.parent().offset();
var relX=e.pageX-parentOffset.left;
var relen=e.pageY-parentOffset.top;
$(“#开始”).html(“x:+relX+”,y:+rele);
},
停止:功能(e、ui){
var parentOffset=$(this.parent().offset();
var relX=e.pageX-parentOffset.left;
var relen=e.pageY-parentOffset.top;
$(“#end”).html(“x:+relX+”,y:+rele);
},
拖动:函数(e、ui){
var parentOffset=$(this.parent().offset();
var relX=e.pageX-parentOffset.left;
var relen=e.pageY-parentOffset.top;
$(“#当前”).html(“x:+relX+”,y:+rele);
}
});
});
起始位置:

结束位置:
拖动位置
为什么-1?我不明白?听起来不错-现在告诉我们你已经尝试了什么,而不是要求我们为你做所有的工作。我尝试过比较2 s的坐标,但在拖动时没有,所以不确定我会写什么。发布你的拖动代码。如果有人想回答这个问题,他需要一些东西作为答案的基础。
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/jquery-wp-content/themes/jquery/css/base.css?v=1">
<style>
    #myDiv
    {
        width: 20px;
        height: 20px;
        background-color: Red;
    }
</style>
<script>
    $(document).ready(function () {
        $("#myDiv").draggable({
            start: function (e, ui) {
                var parentOffset = $(this).parent().offset();
                var relX = e.pageX - parentOffset.left;
                var relY = e.pageY - parentOffset.top;
                $("#start").html(" x: " + relX + ", y: " + relY);
            },
            stop: function (e, ui) {
                var parentOffset = $(this).parent().offset();
                var relX = e.pageX - parentOffset.left;
                var relY = e.pageY - parentOffset.top;
                $("#end").html(" x: " + relX + ", y: " + relY);
            },
            drag: function (e, ui) {
                var parentOffset = $(this).parent().offset();
                var relX = e.pageX - parentOffset.left;
                var relY = e.pageY - parentOffset.top;
                $("#current").html(" x: " + relX + ", y: " + relY);
            }

        });
    });


</script>
</head>
<body>
start Position:<span id="start"></span>
<br />
End Position:<span id="end"></span>
<br />
Dragging Position<span id="current"></span>
<div id="myDiv">
</div>
</body>
</html>