Comment obtenir la position d'un objet déplaçable
Je vais essayer d'obtenir les x
et y
de l'objet déplaçable à l'aide de jQuery.
Le scénario est, je suis de glisser-déposer un objet sur un autre objet et que vous souhaitez pour obtenir la position du drag & drop d'objet.
Edit: Maintenant, je peux obtenir la position de l'objet, mais j'ai besoin de plus:
Voici ce que j'ai essayé:
<script>
$(function() {
$('#draggable').draggable({
drag: function() {
var offset = $(this).offset();
var xPos = offset.left;
var yPos = offset.top;
$(this).text('x: ' + xPos + 'y: ' + yPos);
}
});
$("#droppable").droppable({
drop: function(event, ui) {
$(this)
.addClass("ui-state-highlight")
.find("p")
.html("Dropped!");
}
});
});
</script>
Maintenant, je peux obtenir la position de l'objet déplaçable, mais j'en ai besoin pour être redimensionnables et en plus de faire x,y
de la déplaçable, j'ai aussi besoin de la taille de celui-ci.
- J'ai juste répondu que je pensais que votre question a été. Mais la re-lecture, je ne suis pas si sûr. Pourriez-vous préciser ce que vous voulez savoir? Comme je l'ai été en supposant que vous vouliez avoir une mise à jour continue de la
x
/y
la position de l'objet que vous faites glisser la souris...je ne pourrais pas avoir répondu à votre question. - David, en fait ce dont j'ai besoin est un peu plus compliqué, mais vous pourriez faire une grande aide. Ce que je veux faire est de mettre un objet déplaçable et un drop d'image dans un panneau et faites glisser l'objet déplaçable sur l'image et la position de l'endroit où il a été abandonné. Je vais aussi besoin de l'objet déplaçable à être redimensionnables et d'obtenir la taille de celui-ci à la fin aussi 🙂 merci
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
drag
événement:JS Fiddle démo.
Cette démo apporté à vous par les
événement glisser
, et les méthodesoffset()
ettext()
.Édité en réponse au commentaire de l'OP, à la question d'origine:
...euh, whoah...
Je pense ce genre de couvre les bases de ce qui est demandé:
Mise à jour JS Fiddle démo.
Nouvellement mis à jour JS Fiddle démo, avec
revert: invalid
, afin de tomber la déplaçable div n'importe où mais la droppable div sera la cause de la déplaçable pour animer revenir à sa position de départ. Si ce serait apprécié. Ou souhaité à tous...Pour répondre à l'exigence de la
draggable
objet àresizable
ainsi, je ne pense pas que cela est possible, puisque les deuxdraggable()
etresizable()
répondre à la même interaction. Il peut être possible, d'une certaine façon, mais il est actuellement au-delà de mon ken, je le crains.Édité pour ajouter de la hauteur/largeur de l'exigence, et aussi pour ranger un peu les choses et d'améliorer le CSS. Qui a dit:
HTML:
CSS:
jQuery:
JS Fiddle de démonstration, de la ci-dessus.
draggable()
etdroppable()
de répondre à la même actions d'utilisateur, et je ne peux pas trouver un moyen de différencier entre ce qui plugin/méthode doit être appelée. Éventuellement par de nidification s'étend, ou vrd, l'intérieur de l'élément, mais...je ne suis pas convaincu. Désolé =(width
etheight
de l'objet déplaçable.Vous pouvez essayer un de ces:
ou
La
.position()
méthode nous permet de retrouver la position d'un élément par rapport à l'offset parent. Cela contraste avec.offset()
, qui récupère la position actuelle par rapport au document.De http://api.jquery.com/position/
Vous pouvez obtenir la largeur de sortie avec .redimensionnable() et stop. Essayez d'ajouter ceci: