..
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.
| |
CSS (kurs)
Webbdesign och tillgänglighet enligt W3C CSS och XHTML. Från 29 €. |
| |
HTML (kurs)
Det märkspråk för webben från 29 €. |
| |
Javascript (Kurs)
Komplett guide till klient-side-scripting. Från 39 €. |