Je dois obtenir les coordonnées X, Y (par rapport au haut/à gauche du document) pour un élément DOM. Je ne peux pas localiser les plugins ou la propriété ou la méthode jQuery qui peuvent me les donner. Je peux obtenir le haut et le gauche de l'élément DOM, mais cela peut être soit relatif à son conteneur/parent actuel, soit au document.jQuery x y coordonnées de document de l'objet DOM
Répondre
vous pouvez utiliser
Dimensions plug-in
[... Obsolète inclus dans jQuery 1.3.2+]
offset()
Obtenez le décalage actuel du premier élément adapté, en pixels, par rapport au document.position de ()
obtient la position en haut et à gauche d'un élément par rapport à son parent décalage.
sachant cela, il est facile ... (en utilisant ma petite svg project comme example page)
var x = $("#wrapper2").offset().left;
var y = $("#wrapper2").offset().top;
console.log('x: ' + x + ' y: ' + y);
sortie:
x: 53 y: 177
espère que cela aide ce que vous cherchez.
est ici une image de décalage() et la position()
utilisant XRay
en utilisant la barre d'outils Web Developer
Le offset la fonction fera cela pour vous.
Voici l'exemple qu'ils donnent:
var p = $("p:last");
var offset = p.offset();
p.html("left: " + offset.left + ", top: " + offset.top);
Ma solution est un plug-in avec "solutions de contournement": + D. Mais ça marche!
jQuery.fn.getPos = function(){
var o = this[0];
var left = 0, top = 0, parentNode = null, offsetParent = null;
offsetParent = o.offsetParent;
var original = o;
var el = o;
while (el.parentNode != null) {
el = el.parentNode;
if (el.offsetParent != null) {
var considerScroll = true;
if (window.opera) {
if (el == original.parentNode || el.nodeName == "TR") {
considerScroll = false;
}
}
if (considerScroll) {
if (el.scrollTop && el.scrollTop > 0) {
top -= el.scrollTop;
}
if (el.scrollLeft && el.scrollLeft > 0) {
left -= el.scrollLeft;
}
}
}
if (el == offsetParent) {
left += o.offsetLeft;
if (el.clientLeft && el.nodeName != "TABLE") {
left += el.clientLeft;
}
top += o.offsetTop;
if (el.clientTop && el.nodeName != "TABLE") {
top += el.clientTop;
}
o = el;
if (o.offsetParent == null) {
if (o.offsetLeft) {
left += o.offsetLeft;
}
if (o.offsetTop) {
top += o.offsetTop;
}
}
offsetParent = o.offsetParent;
}
}
return {
left: left,
top: top
};
};
Utilisation:
var p = $("#wrapper2").getPos();
alert("top:"+p.top+"; left:"+p.left);
qu'il y a des frameworks juste pour que nous n'ayons pas besoin de réécrire du code, n'est-ce pas? Les frameworks – balexandre
sont parfaits jusqu'à ce que vous ayez à écrire un script d'utilisateur. Ou lorsque vous voulez écrire un patch sur jQuery; il y a encore des raisons de savoir javascript. –
- 1. Stockage d'objets pour la localisation par coordonnées x, y
- 2. Recherche des coordonnées de carreaux recouverts d'un rectangle avec les coordonnées de pixels x, y, w, h
- 3. Obtenir des coordonnées x, y de caractères individuels dans un widget de texte SWT
- 4. Firefox Sidebar et objet Document de DOM
- 5. Jquery X, position Y envoyer sur ajax
- 6. Get non traduit, non tourné (x, y) de coordonnées d'un point à partir d'une toile Javascript
- 7. Point d'ancrage de x, y dans les nœuds JavaFX
- 8. Position x et y de la tabulation Flex
- 9. Comment obtenir le X, Y coordonnées d'un point dans un fichier PDF
- 10. Jeditable - Activer l'édition de X en cliquant sur Y
- 11. Comment suivez-vous DRY avec du code en utilisant les coordonnées x-y?
- 12. Comment puis-je réorganiser mes données pour qu'elles soient des coordonnées (x, y) pour GD :: Graph?
- 13. traversant dom dans jquery?
- 14. JQuery/Javascript/DOM Evénement de visibilité
- 15. Récupère les coordonnées X Y d'éléments dans un InkCanvas dans WPF
- 16. Manipulation DOM XHTML avec jQuery
- 17. Eléments de comparaison DOM avec jQuery
- 18. Lat/X/désire ardemment Y Coordonne
- 19. Minimisation de f (x, y) où x et y sont des entiers
- 20. sélection DOM dans jquery
- 21. iphone: recherche de coordonnées de CGPath
- 22. Imprimer unités de coordonnées .net
- 23. Méthodes JQuery et propriétés DOM
- 24. Lucene requête - "Correspond exactement à un de x, y, z"
- 25. JQuery: Recherche de l'objet qui a créé un élément DOM
- 26. Trouver X/Y d'un élément HTML avec JavaScript
- 27. Création d'un fragment de document dans YUI 2.x
- 28. dom jquery en traversant trouver instance précédente de classe
- 29. Problème de coordonnées OpenGL
- 30. Convertir un nœud DOM ou Document en XML en JavaScript
Voir: http://docs.jquery.com/Plugins/dimensions « Obsolète: A partir de jQuery 1.2.6, le plug-in dimensions a été fusionné dans le noyau. Vous pouvez voir la documentation complète dans la catégorie CSS. " plus, ce n'est que des positions relatives – DMCS
si vous exécutez ce code sur cette page du projet, vous pouvez vérifier que ce n'est pas relatif, mais ce sont des valeurs absolues. – balexandre
On dirait qu'ils ont résolu les problèmes dans une version plus récente de jQuery. Utiliser 1.3.2 semble donner les coordonnées x, y du document comme j'espérais. Et j'ai testé cela dans IE7, FF3 et Safari3 et ils semblent tous se comporter correctement – DMCS