เทคนิค jQuery สร้าง preloading page หรือ loading image ก่อนแสดงหน้าเว็บ

27 August 2010

การสร้าง preloading page หรือ loading image ในที่นี้ จะอาศัยการโหลด รูปภาพเป็นตัวกำหนด
เงื่อนไข เนื่องจากรูปภาพ หรือ img จะเป็นส่วนที่โหลดมาแสดงท้ายสุด หลักการคือ หาจำนวนรูปในหน้าเว็บนั้นๆ ว่าโหลดเสร็จเรียบร้อยแล้วหรือไม่ ถ้าโหลดเรียบร้อยแล้ว ให้ปิด  ส่วนที่เป็น preloading page หรือ loading image ไป หรือกรณีทีรูปเกิดความผิดพลาดในการโหลด จากสาเหตุใดๆ ก็ตาม ให้ทำการปิด  preloading page หรือ loading image ไปได้เลย

* การทดสอบที่เครื่อง  หรือ ใช้ internet ความเร็วสูง หรือการโหลดหน้าเว็บนั้นเป็นครั้งที่สอง  การโหลดหน้าเว็บจะเร็วกว่าเดิม เมื่อมีการ cache รูปภาพ ดังนั้น preloading page หรือ loading image อาจจะไม่แสดง

 ตัวอย่าง

http://www.ninenik.com/demo/pre_loading_status.php  คลิกที่ลิ้งค์ที่ชื่อ Load Again เพื่อทดสอบหลายๆ ครั้ง

เริ่มต้นการสร้าง preloading page หรือ loading image
1. กำหนด css ที่จำเป็นตังนี้
 

<style type="text/css">
html,body{
	height:100%;
	margin:0;
	padding:0;
}
/* กำหนด css ของส่วนที่ใช้เป็น loading */
div#loadPage{
	position:fixed;
	margin:auto;
	left:0;
	top:0;
	width:100%;
	height:100%;
	color:#FFF;
	background-color:#000;	
	z-index:500;
	text-align:center;
}
</style>

2. กำหนดรูปแบบของ ส่วน loading สามารถแทรกรูปภาพ หรือ กำหนดเป็นตัวอักษร ตามต้องการ โดยแทรกไว้ต่อจากแท็ก <body>
 

<body>
<div id="loadPage">
<br />
<br />
<br />
Loding..........
</div>
.....
...
เนือหาของเว็บไซต์

3. ส่วนของ Javascript Code
 

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
	var imgLength=$("img").length; // หาจำนวนรูปทั้งหมด
	var countImg=0; // สำหรับนับจำนวนรูปภาพที่โหลดแล้ว
	$("img").each(function(){
		var IndexID=$("img").index(this); // สำหรับทดสอบ ลบออกได้
		$(this).load(function(){
			countImg++;
			$("#loadPage").append("<br>loaded img "+IndexID); // สำหรับทดสอบ ลบออกได้
			console.log("loaded img "+IndexID); // สำหรับทดสอบ ลบออกได้
			if(countImg==imgLength){ // เมื่อโหลดรูปทั้งหมดแล้วปิดตัว loading
				$("#loadPage").hide();
			}			
		});
		// เมื่อเกิดข้อผิดพลาดในการโหลดให้ปิด loading เลย
		$(this).error(function(){ 
			$("#loadPage").hide();
		});
		
	});
});
</script>

 








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

06 Nov 09 สร้าง swap แบนเนอร์ effect แบบ fade ด้วย jQuery อย่างง่าย อ่าน 4672 20 Dec 09 ประยุกต์การทำ overlay เพจ กับกล่องข้อความ ด้วย jQuery อ่าน 4660 21 Jul 10 เทคนิค การเพิ่ม ลบ แถว ในตาราง รายการข้อมูล ด้วย jQuery อย่างง่าย อ่าน 4651 17 Nov 09 พิมพ์ข้อมูลใน textbox เพื่อ เพิ่มรายการใน listbox ด้วย jQuery อ่าน 4640 18 Oct 08 การประยุกต์ใช้ฟังก์ขัน after() กับ text input อ่าน 4559 19 Apr 10 สอน jQuery เพิ่มรูปภาพ ให้ตัวเลือก ใน listbox อ่าน 4549 19 Feb 09 สร้างกล่อง alert ข้อความเฉพาะตัว ด้วย jQuery และ CSS อย่างง่าย อ่าน 4540 24 Feb 10 เทคนิค สร้าง effect add to cart ด้วย jQuery อย่างง่าย อ่าน 4518 30 Dec 08 การใช้งาน ajax ใน jQuery อย่างง่าย อ่าน 4513 15 Feb 09 สร้างเมนู Accordion อย่างง่ายแบบที่ 2 ด้วย jQuery อ่าน 4439 25 Sep 08 การกำหนด selectors ด้วย jQuery เกี่ยวกับ form อ่าน 4347 16 Aug 09 jQuery UI คือ อะไร อ่าน 4318 04 Nov 08 การจำกัดจำนวนตัวอักษร ใน textarea ด้วย jquery อ่าน 4283 30 Nov 10 การนำเสนอ และแสดงข้อมูล ด้วย jQuery Flexigrid Plugin เบื้องต้น อ่าน 4212 25 Sep 08 การกำหนด Selectors ด้วย jquery แบบ Basic อ่าน 4190

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

06 Jun 09 ใช้ css กำหนด media print ให้ ไม่แสดง ปุ่มสั่งพิมพ์ print หน้าเอกสารที่ต้องการ อ่าน 3471 08 Oct 08 คำสั่ง SQL DISTINCT อ่าน 4892 26 Mar 09 ฟังก์ชัน php แบ่งหน้าแต่งด้วย css อ่าน 6007 12 May 10 แนวทาง การดึงข้อมูล แบบ real time ด้วย ajax ใน jQuery อ่าน 8967 30 Dec 08 การใช้งาน ajax ใน jQuery อย่างง่าย อ่าน 4513 21 Oct 10 ประยุกต์ ใช้ jQuery สร้างข้อความเลื่อนขึ้น เลื่อนลง คล้าย marquee แนวตั้ง อ่าน 2387 26 Jan 10 การใช้งาน method .clearQueue() ใน jQuery 1.4 javascript library เวอร์ชั่นล่าสุด อ่าน 2144 15 Oct 08 การสร้างข้อความแจ้งเตือนด้วย CSS อ่าน 3771 25 Sep 08 การกำหนด selectors ด้วย jQuery แบบตัวกรอง Attribute อ่าน 2750 08 Oct 08 การสร้างปุ่มด้วย CSS อ่าน 4616 14 Nov 08 สร้างป้ายโฆษณาเลื่อนตามจอภาพ ด้วย jquery ได้ในไม่กี่บรรทัด อ่าน 6854 15 Nov 08 สร้าง Drag and Drop วัตถุด้วย jQuery โดยไม่ใช้ plug in อย่างง่าย อ่าน 6994 09 Dec 09 การรวมไฟล์ javascript หรือไฟล์ css เป็นไฟล์เดียว ด้วย php อย่างง่าย อ่าน 1813 22 Nov 08 ซ่อนและแสดงเนื้อหาแบบหีบเพลง (accordion) ด้วย jquery อย่างง่าย อ่าน 4707 24 Feb 11 ยืนยันการเปลี่ยนแปลงข้อมูลใน select option ด้วย javascript อย่างง่าย อ่าน 1705 10 Sep 10 การแสดง ข้อมูลใน infowindows ของ google map ด้วย ajax ใน jQuery อ่าน 3256 22 Oct 10 สร้าง php ฟังก์ชัน ค้นหาค่าในตัวแปร array อย่างง่าย อ่าน 1428 29 Mar 10 สร้างฟอร์ม ดึง พิกัด ค่า latitude และ longitude จาก google map อ่าน 6662 14 Feb 09 ข้อแตกต่างระหว่าง mysql_pconnect กับ mysql_connect อ่าน 2711 18 Dec 09 สร้างไฟล์ word จาก html ด้วย php class ได้อย่างง่าย อ่าน 1959
จำนวนผู้เยี่ยมชม 784680
คน 2012 © Copyright ninenik.com. All rights reserved.