วิธีการสร้าง preloading images โหลดรูปภาพ ด้วย javascript อย่างง่าย

08 June 2009

ใน javascript มีฟังก์ชัน image ที่สามารถนำมาใช้ในการสร้าง preload images เมื่อเราทำการสร้าง Image Object และกำหนด src ของตำแหน่งภาพ บราวเซอร์จะทำการเรียก image นั้นและทำการบันทึกไว้ใน cache และเมื่อมีการเรียกใช้รูปเดิมนั้นอีกครั้ง บราวเซอร์ก็จะทำการดึงรูปภาพจาก cache มาแทนการโหลดรูปภาพนั้นใหม่ ทำให้สามารถแสดงผลรูปภาพได้เร็วกว่าเดิม

Javascript Code สำหรับสร้าง Preload Image

<script type="text/javascript">
var img = new Image();
img.src = 'yourimg.gif';
</script>

ถ้ารูปที่ต้องการทำ preload มีจำนวนมาก เราสามารถที่จะทำการ cache รูปเหล่านั้นด้วยการใช้ for loop และถ้า image มีนามสกุล เหมือนๆ กัน เราสามารถเพิ่มประสิทธิภาพให้กับ code ด้วยการเพิ่มนามสกุลรูปภาพในขั้นตอนการกำหนด src แทนการกำหนด นามสกุลไฟล์รูป ในชื่อรูปภาพโดยตรง

Javascript Code กรณีมีหลายรูปภาพ และนามสกุลไฟล์รูปเหมือนกันในที่นี้เป็น gif

<script type="text/javascript">
var imgNames = ['car', 'bus', 'boat', 'sun']; // กำหนดชื่อรูปภาพ กรณีรูปภาพมีนามสกุลเหนือนกัน จะกำหนดแต่ชื่อ
var imgObjects = []; // สร้าง ตัวแปร array ไว้กำหนด Image Object
for (var i = 0; i < imgNames.length; i++){ // วนลูปสร้าง preload image
	imgObjects[i] = new Image();
	imgObjects[i].src = imgNames[i] + '.gif';
}
</script>

Javascript Code กรณีมีหลายรูปภาพ และนามสกุลไฟล์รูปเไม่หมือนกัน

<script type="text/javascript">
var imgNames = ['car.gif', 'bus.png', 'boat.jpg', 'sun.jpg']; // กำหนดชื่อรูปภาพ กรณีรูปภาพมีนามสกุลไม่เหนือนกัน จะกำหนดชื่อและนามสกุลรูปภาพ
var imgObjects = []; // สร้าง ตัวแปร array ไว้กำหนด Image Object
for (var i = 0; i < imgNames.length; i++){ // วนลูปสร้าง preload image
	imgObjects[i] = new Image();
	imgObjects[i].src = imgNames[i]; 
}
</script>







บทความในหมวดที่่น่าสนใจ อื่นๆ JAVASCRIPT Learning

06 Jan 09 สร้างฟังก์ชัน javascript เช็ค check email อย่างง่าย อ่าน 5692 25 Sep 08 การจัดรูปแบบทศนิยมของตัวเลขใน javascript อ่าน 5587 24 Mar 10 เริ่มต้น รู้จัก ก่อนการใช้งาน google map api อ่าน 5087 09 Apr 10 สร้าง countdown นับเวลา ถอยหลัง ด้วย javascript อ่าน 5031 25 Sep 08 Javascript กับเทคนิค Mouseover และ Mouseout อ่าน 4810 22 Mar 09 สร้างฟังก์ชันโชว์รูปภาพขนาดใหญ่ด้วย javascript แบบง่าย อ่าน 4777 20 Aug 10 การสร้าง popup ที่แตกต่าง ด้วยวิธี showModalDialog อ่าน 4714 03 Nov 08 เปิด popup แล้วให้แสดงแบบ maximize อ่าน 4679 24 Feb 09 สร้างรูปแบบข้อความ เบอร์โทร เลขที่บัตรประชาชน เวลา ด้วย javascript อ่าน 4588 25 Sep 08 การสลับสีแถวในตารางด้วย javascript อ่าน 4032 29 Dec 10 เพิ่มเติม การใช้งาน popup แบบ showModalDialog อย่างสมบูรณ์ อ่าน 4011 25 Sep 08 การทำปุ่ม Print แบบรูปภาพ อ่าน 3993 26 Oct 08 เช็ค browser ด้วย javascript ได้ทั้ง IE Firefox Opera Chrome อ่าน 3920 06 Jan 09 บวกวันใน javascript ด้วยฟังก์ชัน day add อย่างง่าย อ่าน 3826 25 Sep 08 เลือกหรือไม่เลือก checkbox ทั้งหมด อ่าน 3796

บทความคนเข้าอ่านวันนี้

18 Oct 08 รู้จักการใช้งานฟังก์ขัน after() ใน jquery อ่าน 2810 19 Jan 11 อักขระคั่น (Delimiters) ในการใช้งาน Regular Expressions ของ PHP อ่าน 1039 12 May 10 แนวทาง การดึงข้อมูล แบบ real time ด้วย ajax ใน jQuery อ่าน 8806 03 Nov 10 การเพิ่ม ลบ แก้ไข แบ่งหน้า ข้อมูล ด้วย jquery ajax อย่างง่าย อ่าน 5415 27 Jun 11 ลูกเล่น เพิ่มช่องรับ input type file อัตโนมัติ ด้วย jQuery อ่าน 2234 25 Sep 08 รวมส่วนประกอบต่างข้างบนเป็น CSS อ่าน 3603 10 Dec 09 ประยุกต์ เทคนิค jQuery เลื่อน scrollbar ขึ้นลง ตามเมาส์ สำหรับ div และ textarea อ่าน 3966 22 Oct 10 สร้าง php ฟังก์ชัน ค้นหาค่าในตัวแปร array อย่างง่าย อ่าน 1403 25 Sep 08 แสดง Code สวยๆ Style Google ด้วยเครื่องมือที่เรียกว่า SyntaxHighlighter อ่าน 5399 04 Oct 08 SQL คืออะไร อ่าน 7367 21 Aug 09 ตรึงหัวข้อ header ในตาราง table ด้วย css รองรับ Firefox และ IE อ่าน 4804 26 Jan 12 แสดง icons กำหนดรูปเอง ให้จุดเริ่มเต้น และสิ้นสุดของเส้นทาง ใน google map อย่างง่าย อ่าน 312 19 Aug 09 สร้าง เมนูแท็บ Tabs อย่างง่าย ด้วย jQuery UI อ่าน 10400 19 Feb 10 สร้าง Horizontal Accordion แนวนอน ด้วย jQuery อย่างง่าย อ่าน 3449 25 Sep 08 เอา scrollbar ออกจาก textarea ด้วย CSS อ่าน 4055 28 Oct 08 ฟังก์ชัน สร้าง ajax object ไว้ใช้งานอย่างง่าย อ่าน 3861 04 Jun 09 สร้างเมนูย่อย ให้กับข้อความ เมื่อนำเม๊าท์ไปชี้ mouseover ด้วย css และ jquery อย่างง่าย อ่าน 6919 08 Oct 08 การจัดตำแหน่ง div ให้อยู่กี่งกลาง อ่าน 5336 12 Nov 10 ประยุกต์ php ฟังก์ชัน time() อย่างง่าย กับการแสดง เงื่อนไข ช่วงเวลา อ่าน 2264 17 Sep 10 กำหนด infowindow ให้กับตัว marker จำนวนมาก ใน google map อ่าน 2898
จำนวนผู้เยี่ยมชม 777866
คน 2012 © Copyright ninenik.com. All rights reserved.