javascript可拖动脚本跟踪位置
我遵循以下指南: 我认为这很难理解,而且我似乎不知道要添加什么来跟踪我拖动的元素的位置。如果你在网站上看,你可以看到最后一个例子,他们在那里做这件事。到目前为止,我的例子如下:javascript可拖动脚本跟踪位置,javascript,jquery,Javascript,Jquery,我遵循以下指南: 我认为这很难理解,而且我似乎不知道要添加什么来跟踪我拖动的元素的位置。如果你在网站上看,你可以看到最后一个例子,他们在那里做这件事。到目前为止,我的例子如下: <div id="house_wall1"> <img src="xxx" class="draggie" style="position:relative;"> <img src="xxx" class="draggie" style=
<div id="house_wall1">
<img src="xxx" class="draggie" style="position:relative;">
<img src="xxx" class="draggie" style="position:relative;">
<img src="xxx" class="draggie" style="position:relative;">
<!--Cypyrights and many thanks to http://desandro.mit-license.org for element movements -->
<?php if (login_check($mysqli) == true) : ?>
<p>Welcome <?php echo htmlentities($_SESSION['username']); ?>!</p>
<?php
echo $username;
?>
</div>
<script type="text/javascript" src="draggabilly.pkgd.min.js"></script>
<script>
( function() {
var container = document.querySelector('#house_wall1');
var elems = container.querySelectorAll('.draggie');
for ( var i=0, len = elems.length; i < len; i++ ) {
var elem = elems[i];
new Draggabilly( elem, {
containment: true
});
}
})();
function onDragMove( instance, event, pointer ) {
console.log( 'dragMove on ' + event.type +
pointer.pageX + ', ' + pointer.pageY +
' position at ' + instance.position.x + ', ' + instance.position.y );
}
// bind event listener
draggie.on( 'dragMove', onDragMove );
// un-bind event listener
draggie.off( 'dragMove', onDragMove );
// return true to trigger an event listener just once
draggie.once( 'dragMove', function() {
console.log('Draggabilly did move, just once');
});
欢迎光临
(功能(){
var container=document.querySelector(“#house_wall1”);
var elems=container.querySelectorAll('.draggie');
对于(变量i=0,len=elems.length;i
这个脚本可以使图像四处移动,但它还不能跟踪它们的位置,即使我尝试将其添加到脚本的底部,如您所见。有人知道什么是错的,什么是需要的吗?我对Jquery、Javascript相当陌生。非常感谢。将您的代码更改为此,对我来说很好。您只需要使用offset()方法获取被拖动元素在被拖动时的位置,并使用position()方法获取被拖放位置的坐标 HTML:
嘿,谢谢你的代码,但我想使用指南中显示的方法,因为我不想把太多不同的脚本混合在一起。我现在可以跟踪图像位置,但无法输出结果。。嗯,实际上,我试过最简单的代码,你的代码有点复杂。在我的示例中,输出是使用.text()方法显示的。如果您愿意,您可以尝试此方法。@user33164770哦,是的,它工作得很好,但是,是否可以这样做,图像不能在整个页面上移动,而只能在特定的div中移动?感谢定位元素也必须从div顶部开始,而不是从主体开始,以便具有其他分辨率的用户获得其他位置。谢谢:)是的……这是可能的。您需要使用draggable元素的“containment”属性。检查我的编辑。
//include these files.
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src=" http://code.jquery.com/jquery-2.0.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<body>
<div id="container">
<img id="productid_1" src="Lionel Messi New Wallpaper 2012 07.jpg" class="item" alt="" title="" height="100px" width="100px"/>
<img id="productid_2" src="bienvenidos_a_uniformes_deportivos_monterrey_4_216235520.jpg" class="item" alt="" title="" height="100px" width="100px" />
<img id="productid_3" src="lionel-messi-wallpapers-hd.jpg" class="item" alt="" title="" height="100px" width="100px"/>
<?php if (login_check($mysqli) == true) : ?>
<p>Welcome <?php echo htmlentities($_SESSION['username']); ?>!</p>
<?php
echo $username;
?>
</div>
<div id="start">Waiting for dragging the image get started...</div>
<div id="stop">Waiting image getting dropped...</div>
<ul>
<li id="posX"></li>
<li id="posY"></li>
</ul>
</body>
<script>
$(document).ready(function(){
$(".item").draggable({
drag: function(){
var offset = $(this).offset();
var xPos = offset.left;
var yPos = offset.top;
$('#posX').text('x: ' + xPos);
$('#posY').text('y: ' + yPos);
},
// Find original position of dragged image.
start: function(event, ui) {
// Show start dragged position of image.
var Startpos = $(this).position();
$("div#start").text("START: \nLeft: "+ Startpos.left + "\nTop: " + Startpos.top);
},
// Find position where image is dropped.
stop: function(event, ui) {
// Show dropped position.
var Stoppos = $(this).position();
$("div#stop").text("STOP: \nLeft: "+ Stoppos.left + "\nTop: " + Stoppos.top);
}
});
});
</script>
$(document).ready(function(){
$(".item").draggable({
containment: '#limit_div',
drag:function(){......
//where #limit_div will be parent div of the #container div.