38 of 119 menu

Μέθοδος offset

Η μέθοδος offset επιτρέπει τη λήψη της θέσης ενός στοιχείου σε σχέση με το έγγραφο, σε αντίθεση με τη μέθοδο position, που λαμβάνει συντεταγμένες σε σχέση με τα περιθώρια του γονέα. Η μέθοδος offset είναι πιο χρήσιμη για τοποθέτηση ενός νέου στοιχείου πάνω από ένα υπάρχον για καθολικούς χειρισμούς, για παράδειγμα, για την υλοποίηση της λειτουργίας σύρσης και απόθεσης (drag-and-drop). Ως αποτέλεσμα, η μέθοδος επιστρέφει ένα αντικείμενο, που περιέχει τις ιδιότητες top και left. Σφάλματα στους υπολογισμούς μπορεί να προκύψουν εάν ο χρήστης αλλάξει τις διαστάσεις της σελίδας. Επίσης, η μέθοδος δεν λαμβάνει τις συντεταγμένες κρυφών στοιχείων.

Σύνταξη

Λήψη τρεχουσών συντεταγμένων. Σε ορισμένες περιπτώσεις οι τιμές που λαμβάνονται μπορεί να είναι κλασματικές:

$(επιλογέας).offset();

Για να αλλάξετε τις συντεταγμένες ενός στοιχείου, πρέπει να περάσετε ένα αντικείμενο, που περιέχει τις ιδιότητες top και left:

$(επιλογέας).offset({top: 40, left: 40});

Μπορούμε επίσης να εφαρμόσουμε μια καθορισμένη συνάρτηση σε κάθε στοιχείο στο σύνολο. Στην περίπτωση αυτή, η συνάρτηση θα λάβει ως πρώτη παράμετρο τον αριθμό του στοιχείου στο σύνολο, και ως δεύτερη παράμετρο - ένα αντικείμενο με συντεταγμένες top και left. Το this μέσα στη συνάρτηση θα δείχνει στο τρέχον στοιχείο. Οι τιμές των συντεταγμένων του στοιχείου θα αλλάξουν σε αυτές, που επιστρέφει η συνάρτηση:

$(επιλογέας).width(function(αριθμός στο σύνολο, {τρέχουσες συντεταγμένες}));

Παράδειγμα

Ας πάρουμε τη θέση του div (πράσινο τετράγωνο), χρησιμοποιώντας τη μέθοδο offset, και στη συνέχεια, προσπελάζοντας τα κλειδιά του αντικειμένου που λήφθηκε, να εμφανίσουμε αυτήν την πληροφορία:

<div id="result">κάντε κλικ σε ένα τετράγωνο ...</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('Αριστερά: ' + offset.left + ', Πάνω: ' + offset.top); });

Παράδειγμα

Ας αλλάξουμε τις συντεταγμένες της δεύτερης παραγράφου:

<p style="margin-left: 10px;">κείμενο1</p> <p style="margin-left: 10px;">κείμενο2</p> $('p').last().offset({top: 40, left: 60});

Δείτε επίσης

  • μέθοδος position,
    που επιτρέπει τη λήψη τρεχουσών συντεταγμένων στοιχείου
  • μέθοδος offsetParent,
    που επιτρέπει τη λήψη του πλησιέστερου τοποθετημένου προγόνου ενός στοιχείου
  • μέθοδος css,
    που επιτρέπει τη λήψη και αλλαγή των στυλ CSS ενός στοιχείου
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη