38 of 119 menu

Metodo offset

Il metodo offset consente di ottenere la posizione di un elemento rispetto al documento, a differenza del metodo position, che ottiene le coordinate relative ai margini del genitore. Il metodo offset è più utile per posizionare un nuovo elemento sopra uno esistente per manipolazioni globali, ad esempio, per implementare il trascinamento (drag-and-drop). Come risultato, il metodo restituisce un oggetto, contenente le proprietà top e left. Errori di calcolo possono verificarsi se l'utente cambia le dimensioni della pagina. Inoltre, il metodo non ottiene le coordinate di elementi nascosti.

Sintassi

Ottenere le coordinate correnti. In alcuni casi i valori ottenuti possono essere frazionari:

$(selettore).offset();

Per cambiare le coordinate di un elemento, è necessario passare un oggetto contenente le proprietà top e left:

$(selettore).offset({top: 40, left: 40});

Possiamo anche applicare una determinata funzione a ogni elemento nel set. In questo caso, la funzione riceve come primo parametro il numero dell'elemento nel set, e come secondo parametro l'oggetto con le coordinate top e left. this all'interno della funzione indicherà l'elemento corrente. I valori delle coordinate dell'elemento cambieranno in quelli restituiti dalla funzione:

$(selettore).width(function(numero nel set, {coordinate correnti}));

Esempio

Otteniamo la posizione del div (quadrato verde), utilizzando il metodo offset, e poi, accedendo alle chiavi dell'oggetto ottenuto, visualizziamo queste informazioni:

<div id="result">clicca un quadrato ...</div> <div id="test"></div> #test { position: absolute; top: 40px; left: 40px; width: 100px; height: 100px; background: green; color: white; margin-top: 10px; cursor: pointer; } $('*', document.body).click(function(event) { let offset = $(this).offset(); event.stopPropagation(); $('#result').text('Left: ' + offset.left + ', Top: ' + offset.top); });

Esempio

Cambiamo le coordinate del secondo paragrafo:

<p style="margin-left: 10px;">testo1</p> <p style="margin-left: 10px;">testo2</p> $('p').last().offset({top: 40, left: 60});

Vedi anche

  • metodo position,
    che consente di ottenere le coordinate correnti di un elemento
  • metodo offsetParent,
    che consente di ottenere il più vicino antenato posizionato di un elemento
  • metodo css,
    che consente di ottenere e cambiare gli stili CSS di un elemento
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta