..


Sponsrade länkar

Stretching ökar för innehållet i en textarea

Artikel skriven av Max Bossi

Webben är ett outtömligt förråd av mineral tips och idéer. Internet är per definition en miljö där varje dag contuna testa nya idéer föds, några andra geni, helt enkelt nyfiken och intressant.

Ur synvinkel webbdesign, en av de "specialeffekter" som jag föredrar är den dynamiska hanteringen av storleken på en stor förändring textinnehållet in av användaren. I ett nötskal: mer innehåll du skriver och desto större blir textarea. Ur en psykologisk synvinkel är det en uppmaning att fortsätta att skriva motsvarande säga "hej du vill skriva också, det finns inget utrymme."

I den här artikeln föreslår jag en enkel JavaScript-funktion för att hantera denna fina effekt. Funktionen i fråga inte bara förlänger textarea när innehållet överskrida sin naturliga förmåga (undvika, faktiskt, utseende nedslagenhet vertikalt streck). Här är koden:






 moreWords funktion (ID, maxheight) {



  



 / / Skapa en variabel för att komma åt stilen egenskaper textarea



  



 id: document.getElementById (id);



  

  



 / / Om jag inte kan gå ut utan att göra något



  



 om avkastning (txtarea!);



  

  



 / / Skapa en variabel som en början, om inte den nuvarande höjden på textarea



  



 var = newHeight txtarea.clientHeight;



  

  



 / / Om höjden inte har fastställts eller det här är större än den nuvarande ...



  



 if (maxheight |! | maxheight> newHeight) {



    

    



 / / Definiera värdet av att identifiera newHeight desto större är höjden av innehållet (scrollHeight) och dess nuvarande värde



    



 newHeight = Math.max (txtarea.scrollHeight, newHeight);



    

    



 / / Om höjden är inställd ..



    



 if (maxheight)



      



 / / Definiera värdet av newHeight identifiera mindre av den maximala höjd (maxheight) och dess nuvarande värde



      



 newHeight = Math.min (maxheight, newHeight);





    



 / / Om den beräknade höjden (newHeight) är större än den nuvarande textarea



    



 / / Gör ändringen och förlänga textarea



    



 if (newHeight> txtarea.clientHeight) {



      



 txtarea.style.height newHeight = + "px";



      



 txtarea.style.overflow = "dolda";



    



 }



  



 }



  



 / / Om den maximala höjden är nådd visa rullningslisten



  



 txtarea.style.overflow = "auto";

  

  



 }

   





 }



Funktionen tar två parametrar, en obligatorisk (TextArea ID som att tillämpa den effekten) och en valfri (valfri höjd i pixlar).

Om de olika stegen används för att skapa den funktion som jag tror att det finns mycket att tillägga till kommentarer redan i koden.

Användning av funktionen är mycket enkel: vår textarea onKeyUp händelsen startar den funktion som gör inget annat än en ny beräkning för varje tryckte knappen, om höjden är lämplig för det innehåll som publiceras på:

 



 <textarea onkeyup="moreWords(this)"> </ textarea>

 

Ett fungerande exempel av de föreslagna koden kan ses på denna sida .

Den enda gränsen för denna funktion är oförmågan att ingå avtal om användaren tar bort texten ... I detta fall är textarea fortfarande de gamla storlek minskning, eftersom vår kod är endast avsedd för utbyggnad av utrymme och inte för dess kontraktion. Men om du vill kan du lägga till den här funktionen genom att tillsätta några rader kod.

I samma kategori ...
E-Learning
CSS (kurs) CSS (kurs)
Webbdesign och tillgänglighet enligt W3C CSS och XHTML. Från 29 €.
HTML (kurs) HTML (kurs)
Det märkspråk för webben från 29 €.
Javascript (Kurs) Javascript (Kurs)
Komplett guide till klient-side-scripting. Från 39 €.
Sponsrade länkar