..


Σύνδεσμοι διαφημιζόμενων

Stretching αυξήσεις για το περιεχόμενο ενός textarea

Το άρθρο γράφτηκε από τον Max Bossi

Το διαδίκτυο είναι μια ανεξάντλητη προσφορά υποδείξεις ορυκτών και των ιδεών. Το Διαδίκτυο είναι, εξ ορισμού, ένα περιβάλλον όπου κάθε 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 εξακολουθεί να είναι το παλιό μείωση του μεγέθους της, επειδή ο δικός μας κώδικας έχει σχεδιαστεί αποκλειστικά για την επέκταση του χώρου και όχι για τη συστολή του. Ωστόσο, εάν το επιθυμείτε, μπορείτε να προσθέσετε αυτήν τη δυνατότητα με την προσθήκη μερικών γραμμών κώδικα.

Στην ίδια κατηγορία ...
E-Learning
CSS (Μάθημα) CSS (Μάθημα)
Σχεδίαση και Προσβασιμότητα, σύμφωνα με το W3C CSS και XHTML. Ξεκινώντας από 29 €.
HTML (Μάθημα) HTML (Μάθημα)
Η γλώσσα σήμανσης για τον Παγκόσμιο Ιστό από 29 €.
Javascript (Μάθημα) Javascript (Μάθημα)
Πλήρης οδηγός για δέσμες ενεργειών στην πλευρά του πελάτη. Από 39 €.
Σύνδεσμοι διαφημιζόμενων