<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jakk's blog &#187; Javascript</title>
	<atom:link href="http://lab.araigun.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://lab.araigun.com</link>
	<description>Keep mine in this blog.</description>
	<lastBuildDate>Sun, 07 Jun 2009 13:16:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Preview Image object in javascript</title>
		<link>http://lab.araigun.com/2009/03/15/preview-image-object-in-javascript/</link>
		<comments>http://lab.araigun.com/2009/03/15/preview-image-object-in-javascript/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 01:19:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://lab.araigun.com/?p=86</guid>
		<description><![CDATA[แต่ละภาพใน HTML document นั้นจะถูกแทนด้วย Image object ใน javascript สามารถเรียกใช้ object image ใน document ได้โดย

document.images[index]; //call by position in array
document.images.name; //call by name

สามารถเรียกใช้ constructor โดย:

var obj = new Image([width], [height]);


Properties ที่ใช้บ่อยๆ:


properties
description


height
set or return image&#8217;s height


width
set or return image&#8217;s width


src
set or return URL source


name
set or return image&#8217;s name


Events:


event
description


onload
execute when successful and complete to download image


onabort
execute when user [...]]]></description>
			<content:encoded><![CDATA[<p>แต่ละภาพใน HTML document นั้นจะถูกแทนด้วย Image object ใน javascript สามารถเรียกใช้ object image ใน document ได้โดย<span id="more-86"></span><br />
<code lang="javascript"><br />
document.images[index]; //call by position in array<br />
document.images.name; //call by name<br />
</code></p>
<p><strong>สามารถเรียกใช้ constructor โดย:</strong><br />
<code lang="javascript"><br />
var obj = new Image([width], [height]);<br />
</code><br />
<strong><br />
Properties ที่ใช้บ่อยๆ:</strong><br />
<table border="1" cellspacing="0" cellpadding="2">
<tr bgcolor="#fffbcc">
<th>properties</th>
<th>description</th>
</tr>
<tr>
<td>height</td>
<td>set or return image&#8217;s height</td>
</tr>
<tr>
<td>width</td>
<td>set or return image&#8217;s width</td>
</tr>
<tr>
<td>src</td>
<td>set or return URL source</td>
</tr>
<tr>
<td>name</td>
<td>set or return image&#8217;s name</td>
</tr>
</table>
<p><strong>Events:</strong><br />
<table border="1" cellspacing="0" cellpadding="2">
<tr bgcolor="#fffbcc">
<th>event</th>
<th>description</th>
</tr>
<tr>
<td>onload</td>
<td>execute when successful and complete to download image</td>
</tr>
<tr>
<td>onabort</td>
<td>execute when user abort download image</td>
</tr>
<tr>
<td>onerror</td>
<td>execute when error occur while loading image (image not found)</td>
</tr>
</table>
<p><strong>more source:</strong> <a href="http://www.w3schools.com/htmldom/dom_obj_image.asp">w3schools</a>, <a href="https://developer.mozilla.org/en/Gecko_DOM_Reference">mozilla developer center</a><br />
<strong><br />
example image preloading:</strong></p>
<p><strong>html code:</strong><code lang="html4strict"><html><br />
<head></p>
<style type="text/css">
#thumb_container img{
	margin:2px;
	cursor:pointer;
}
</style>
<p><script type="text/javascript" src="example.js"></script><br />
</head><br />
<body></p>
<table border="0"  width="630" height="430">
<tr align="center" valign="middle">
<td><img name="loading_img" src="images/animal1.jpg" /> </td>
</tr>
</table>
<table border="0"  width="630" >
<tr align="center" valign="middle">
<td>
<div id="thumb_container"><img src="images/thumb_animal1.jpg" rel="images/animal1.jpg" /><img src="images/thumb_animal2.jpg" rel="images/animal2.jpg"/><img src="images/thumb_animal3.jpg" rel="images/animal3.jpg"/></div>
</tr>
</table>
<p></body><br />
</html></code></p>
<p><strong>javascript code in <span style="color:red;">example.js</span>:</strong><code lang="javascript[lines]">function change_img(url){<br />
	document.images.loading_img.src = 'images/loading.gif';//show loading image<br />
	var img = new Image();<br />
	img.onload = function(){<br />
		document.images.loading_img.src = url;//change image when loading complete<br />
	}<br />
	img.src = url;//preload image<br />
}<br />
function onclick_thumb(){<br />
	var e = arguments[0] || window.event;//get event object, note: this fix for IE<br />
	var target_img = e.target || e.srcElement;//get target object (ie: image object), note: this fix for IE<br />
	var url = target_img.getAttribute('rel');//get url form attricute 'rel'<br />
	change_img(url);<br />
}<br />
function init_example(){<br />
	var thumb_obj = document.getElementById('thumb_container').getElementsByTagName('img');//get thumbnail image's objects<br />
	for(var i in thumb_obj){<br />
		thumb_obj[i].onclick = onclick_thumb;//add onclick event for each object<br />
	}<br />
	var img = new Image();<br />
	img.src = 'images/loading.gif';//preloading loading image<br />
}<br />
if(window.addEventListener){<br />
	window.addEventListener("load", init_example, false); //run initial fuction when complete loading object<br />
}else if(window.attachEvent){<br />
	window.attachEvent("onload",init_example);//fix run initial fuction for fucking browser(IE)<br />
} </code></p>
<p>demo <a href="http://lab.araigun.com/examples/image_object/">here</a><br />
source <a href='http://lab.araigun.com/wp-content/uploads/2009/03/sorce.zip'>here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lab.araigun.com/2009/03/15/preview-image-object-in-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
