Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    rilevare posizione elementi dom

    Ciao a tutti,
    in un div id ="contenitore" ho due elementi html, un tag <img ... > e un tag <p ...> ognuno con il proprio id

    qualcuno sarebbe così gentile da dirmi come rilevare la posizione x,y di questi elementi relativamente al contenitore?

    ho provato con

    codice:
            var obj = $('#'+myId).position();
            var pos_x = obj.left;
            var pos_y = obj.top;
    ma mi funziona solo sul tag p e non sul tag img

    myId ovviamente è l'id dell'oggetto su cui faccio il test.

    Grazie a chi potrà rispondermi
    Guidino

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Non c'è nessuno sul forum?
    Guidino

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che è sabato per tutti pertanto le visite sul forum si diradano e le eventuali risposte, 53 minuti mi smembrano pochi comunque.
    Precisato questo, da un prova fatta il position funziona anche sulle immagini pertanto ritengo sia un "cattivo" utilizzo al limite prova anche offset
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    grazie,
    offset mi da la posizione assoluta nella pagina mentre a me interessa quella relativa al contenitore, quindi uso position

    ... ho ricontrollato ed effettivamente si trattava di un cattivo uso.


    rimane però il fatto che in firefox il codice non funziona.
    ne sai qualcosa?
    Guidino

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    cerca "coordinate di un elemento ..." negli script / discussioni utili e modificalo per fermarti al contenitore che ti interessa
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie, avevo visto la funzione:
    codice:
    function getPageCoords (element) { // thanks to 'Martin Honnen' for this function 
       var coords = {x: 0, y: 0}; 
       while (element) { 
          coords.x += element.offsetLeft; 
          coords.y += element.offsetTop; 
          element = element.offsetParent; 
       } 
       return coords; 
    }
    come posso adattare la funzione in modo che riceva come parametro l'id dell'oggetto invece di this ?
    Guidino

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non devi modificare la funzione ma la chiamata:

    getPageCoords($('#'+myId))
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    però così
    var pos = getPageCoords($('#'+myId))
    alert (pos.x + " " + pos.y);

    ottengo NaN NaN

    dove sbaglio?
    Guidino

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    ho risolto l'errore con:

    var obj = document.getElementById(myId);
    var pos = getObjCoords(obj);
    alert (pos.x + " " + pos.y);

    però la funzione getObjCoords mi rende le coordinate assolute dell'oggetto nella pagina, io ho bisogno delle coordinate relative al suo contenitore, come avevo detto all'inizio del post.

    in più con firefox continua a non funzionare

    Idee?
    Guidino

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La posizione parte sempre dal bordo del documento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.