..


ลิงก์ผู้สนับสนุน

เพิ่มการยืดกล้ามเนื้อสำหรับเนื้อหาของ textarea ที่

บทความที่เขียนโดย Max Bossi

เว็บที่มีการจัดหาคำแนะนำที่ไม่สิ้นสุดของแร่ธาตุและความคิด 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 จะยังคงลดขนาดเดิมเพราะรหัสของเราคือการออกแบบมาเพียงเพื่อการขยายตัวของพื้นที่และไม่ได้สำหรับการหดตัวของ แต่ถ้าคุณต้องการคุณสามารถเพิ่มคุณลักษณะนี้โดยการเพิ่มไม่กี่บรรทัดของรหัส

ในประเภทเดียวกัน ...
E - Learning
CSS (หลักสูตร) CSS (หลักสูตร)
การออกแบบเว็บและการใช้งานตาม W3C CSS และ XHTML เริ่มต้นจาก 29 €
HTML (หลักสูตร) HTML (หลักสูตร)
ภาษามาร์คอัปสำหรับเว็บจาก 29 €
Javascript (หลักสูตร) Javascript (หลักสูตร)
คู่มือที่สมบูรณ์ในการเขียนสคริปต์ฝั่งไคลเอนต์ จาก 39 €
ลิงก์ผู้สนับสนุน