..
เว็บที่มีการจัดหาคำแนะนำที่ไม่สิ้นสุดของแร่ธาตุและความคิด Internet เป็นโดยความหมายสภาพแวดล้อมที่ contuna ทุกวันในการทดสอบความคิดใหม่ที่จะเกิดบางอัจฉริยะอื่น ๆ เพียงแค่อยากรู้อยากเห็นและน่าสนใจ
จากมุมมองของการออกแบบเว็บซึ่งเป็นหนึ่งใน"ผลพิเศษ"ที่ฉันชอบที่การจัดการไดนามิกของขนาดของการเปลี่ยนแปลงเนื้อหาข้อความขนาดใหญ่ป้อนโดยผู้ใช้ที่เป็น สั้น : เพิ่มเติมเนื้อหาที่คุณเขียนมากขึ้นและจะกลายเป็น textarea จากจุดทางจิตวิทยาในมุมมองของมันคือคำเชิญเพื่อดำเนินการต่อในการเขียนเทียบเท่าของคำกล่าวที่ว่า"เฮ้คุณต้องการจะเขียนเป็นอย่างดีมีห้องพักไม่สามารถ."
ในบทความนี้ผมได้นำเสนอฟังก์ชัน JavaScript ง่ายในการจัดการนี้ผลดี การทำงานในคำถามที่จะไม่มีอะไร แต่ยืด textarea เมื่อเนื้อหาเกินความจุของธรรมชาติ (หลีกเลี่ยงในความเป็นจริงลักษณะของแถบแนวตั้งความเศร้าสลดได้) นี่คือรหัส :
moreWords ฟังก์ชั่น (id, maxheight) {
/ / สร้างตัวแปรในการเข้าถึงคุณสมบัติของสไตล์ของ textarea
ID : document.getElementById (id);
/ / ถ้าฉันไม่สามารถออกไปได้โดยไม่ต้องทำอะไร
ถ้ากลับมา (txtarea!);
/ / สร้างตัวแปรที่เริ่มต้นเว้นแต่จะได้ความสูงปัจจุบันของ textarea
var = txtarea.clientHeight newHeight;
/ / ถ้าความสูงไม่ได้รับการตั้งค่าหรือนี้มีขนาดใหญ่กว่าปัจจุบัน ...
ถ้า (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 ="รถยนต์";
}
}
ฟังก์ชันนี้จะใช้เวลาสองพารามิเตอร์, บังคับ (ID ของ textarea ของที่จะใช้ผล) และเป็นตัวเลือก (ความสูงเป็นพิกเซลใด ๆ )
เกี่ยวกับขั้นตอนต่างๆที่ใช้ในการสร้างฟังก์ชันผมเชื่อว่ามีน้อยคือการเพิ่มความเห็นแล้วในรหัส
การใช้ฟังก์ชันนี้ง่ายมากที่ : เหตุการณ์ onkeyup ของเรา textarea เปิดฟังก์ชันที่จะไม่มีอะไร แต่คำนวณใหม่สำหรับการกดคีย์แต่ละตัวถ้าความสูงที่เหมาะสมสำหรับเนื้อหาที่โพสต์ใน :
<textarea onkeyup="moreWords(this)"> </ textarea>
ตัวอย่างการทำงานของโค้ดที่นำเสนอสามารถดูได้ที่ หน้านี้ .
จำกัด เฉพาะของฟังก์ชันนี้จะไม่สามารถทำสัญญาถ้าผู้ใช้ลบข้อความที่ ... ในกรณีนี้ textarea จะยังคงลดขนาดเดิมเพราะรหัสของเราคือการออกแบบมาเพียงเพื่อการขยายตัวของพื้นที่และไม่ได้สำหรับการหดตัวของ แต่ถ้าคุณต้องการคุณสามารถเพิ่มคุณลักษณะนี้โดยการเพิ่มไม่กี่บรรทัดของรหัส
| |
CSS (หลักสูตร)
การออกแบบเว็บและการใช้งานตาม W3C CSS และ XHTML เริ่มต้นจาก 29 € |
| |
HTML (หลักสูตร)
ภาษามาร์คอัปสำหรับเว็บจาก 29 € |
| |
Javascript (หลักสูตร)
คู่มือที่สมบูรณ์ในการเขียนสคริปต์ฝั่งไคลเอนต์ จาก 39 € |