..
Το διαδίκτυο είναι μια ανεξάντλητη προσφορά υποδείξεις ορυκτών και των ιδεών. Το Διαδίκτυο είναι, εξ ορισμού, ένα περιβάλλον όπου κάθε contuna ημέρες δοκιμή νέων ιδεών γεννιούνται, κάποια άλλα ιδιοφυΐα, απλά περίεργος και ενδιαφέρουσα.
Από την άποψη του web design, ένα από τα "ειδικά εφέ" που προτιμώ είναι η δυναμική διαχείριση του μεγέθους ενός μεγάλου αλλάζει το περιεχόμενο κειμένου που έχουν εισαχθεί από το χρήστη. Με λίγα λόγια: περισσότερο περιεχόμενο γράφετε και τόσο μεγαλύτερη γίνεται η textarea. Από ψυχολογικής άποψης, είναι μια πρόσκληση να συνεχίσει να γράψει το ισοδύναμο του λέγοντας «Hey θέλετε να γράψετε, καθώς, δεν υπάρχει χώρος."
Σε αυτό το άρθρο προτείνει μια απλή λειτουργία JavaScript για να χειριστεί αυτό το ωραίο αποτέλεσμα. Η εν λόγω λειτουργία δεν κάνει τίποτα, αλλά παρατείνουν την textarea όταν το περιεχόμενο υπερβαίνει τη φυσική ικανότητα του (αποφεύγοντας, στην πραγματικότητα, η εμφάνιση του κατήφεια κατακόρυφη γραμμή). Εδώ είναι ο κώδικας:
moreWords λειτουργία (id, maxheight) {
/ / Δημιουργήστε μια μεταβλητή για να αποκτήσετε πρόσβαση στις ιδιότητες στυλ του textarea
id: document.getElementById (id)?
/ / Αν δεν μπορώ να πάω έξω, χωρίς να κάνει τίποτα
εάν η επιστροφή (txtarea!)?
/ / Δημιουργήστε μια μεταβλητή που αρχικά εκτός και αν το τρέχον ύψος του textarea
var = newHeight txtarea.clientHeight?
/ / Αν το ύψος δεν έχει οριστεί ή αυτό είναι μεγαλύτερο από το ρεύμα ...
αν (maxheight |! | maxheight> newHeight) {
/ / Επαναπροσδιορίστε την αξία του προσδιορισμού newHeight τόσο μεγαλύτερο είναι το ύψος του περιεχομένου (scrollHeight) και την τρέχουσα τιμή της
newHeight = Math.max (txtarea.scrollHeight, newHeight)?
/ / Αν το ύψος έχει ρυθμιστεί ..
αν (maxheight)
/ / Επαναπροσδιορισμός της αξίας των newHeight προσδιορισμό το μικρότερο από το μέγιστο ύψος (maxheight) και την τρέχουσα τιμή της
newHeight = Math.min (maxheight, newHeight)?
/ / Αν το ύψος που υπολογίζεται (newHeight) είναι μεγαλύτερη από την τρέχουσα textarea
/ / Κάντε την αλλαγή και να επιμηκύνει το textarea
αν (newHeight> txtarea.clientHeight) {
txtarea.style.height newHeight = + "px"?
txtarea.style.overflow = "κρυφό"?
}
}
/ / Αν το μέγιστο ύψος επιτευχθεί δείχνουν την γραμμή κύλισης
txtarea.style.overflow = "auto"?
}
}
Η συνάρτηση παίρνει δύο παραμέτρους, μια υποχρεωτική (ID του textarea για τις οποίες ισχύει το αποτέλεσμα) και ένα προαιρετικό (οποιοδήποτε ύψος σε pixel).
Σχετικά με τα διάφορα μέτρα που χρησιμοποιείται για να δημιουργήσει τη λειτουργία πιστεύω ότι υπάρχουν λίγα να προσθέσω στα σχόλια που έχουν ήδη στον κώδικα.
Η χρήση της λειτουργίας είναι πολύ απλή: textarea εκδήλωση μας onkeyup ξεκινά η λειτουργία, η οποία δεν κάνει τίποτα, αλλά να υπολογίσει εκ νέου, για κάθε πλήκτρο πιέζεται, εάν το ύψος είναι κατάλληλο για το περιεχόμενο της ακόλουθης ιστοσελίδας:
<textarea onkeyup="moreWords(this)"> </ textarea>
Ένα πραγματικό παράδειγμα του προτεινόμενου κώδικα μπορούν να προβληθούν σε αυτή τη σελίδα .
Το μόνο όριο αυτής της λειτουργίας είναι η ανικανότητα να συρρικνωθεί εάν ο χρήστης διαγράφει το κείμενο ... Στην περίπτωση αυτή, το textarea εξακολουθεί να είναι το παλιό μείωση του μεγέθους της, επειδή ο δικός μας κώδικας έχει σχεδιαστεί αποκλειστικά για την επέκταση του χώρου και όχι για τη συστολή του. Ωστόσο, εάν το επιθυμείτε, μπορείτε να προσθέσετε αυτήν τη δυνατότητα με την προσθήκη μερικών γραμμών κώδικα.
| |
CSS (Μάθημα)
Σχεδίαση και Προσβασιμότητα, σύμφωνα με το W3C CSS και XHTML. Ξεκινώντας από 29 €. |
| |
HTML (Μάθημα)
Η γλώσσα σήμανσης για τον Παγκόσμιο Ιστό από 29 €. |
| |
Javascript (Μάθημα)
Πλήρης οδηγός για δέσμες ενεργειών στην πλευρά του πελάτη. Από 39 €. |