我这里有一个代码,它使用从jquery和jquery UI拖动。

<head>
    <meta charset="utf-8">
    <title>Test</title>
    <link rel="stylesheet" href="css/jquery-ui.css">
    <script type="text/javascript" src="js/jquery-1.11.0.js"></script>
    <script src="js/jquery-ui.js"></script>

    <style>
    #draggable, #draggable2, #draggable3 {border: 0px solid black; background-color : transparent; width: 150px; height: 150px; padding: 0.5em; }
    </style>
    <script>
    $(function() {
    $( "#draggable" ).draggable();
    $( "#draggable2" ).draggable();
    $( "#draggable3" ).draggable();
    });
    </script>
</head>
<body>
    <div id="draggable" class="ui-widget-content">Test1</div>
    <div id="draggable2" class="ui-widget-content">Test2</div>
    <div id="draggable3" class="ui-widget-content">Test3</div>
</body>
</html>


我需要获取每个元素的位置坐标x和y。我找不到如何得到那些。
还有如何限制可拖动的地方。我的意思是如何创建边框,使那些对象只能在此边框内移动。

最佳答案

你要这个??

       $("#draggable").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);
            }

        });


该代码将在拖动时获取坐标

Demo

Updated Demo For Container

关于javascript - 如何在可拖动的jQuery中获取x和y,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22378093/

10-12 12:35
查看更多