Connecting Tech Pros Worldwide Forums | Help | Site Map

Variable scope - 2

John Wood
Guest
 
Posts: n/a
#1: Jul 20 '05
Can anybody explain why my variable imonline is still 1 even though my
onError function has fired , value = 0 when printed by Javascript
document.write at end. I thought that
VAR imonline = 1
should have given me a global variable
TIA


<HTML>

<SCRIPT LANGUAGE="JavaScript">
var imonline = 1;
function imageError(theImage) {imonline=0; document.JWonline.src =
"2_yellow.jpg";}
</script>
</HEAD>

<BODY BGCOLOR="#b5ccb8">
<H2><CENTER>Is the green button loaded 2</CENTER></H2>
<!-- 2_greenx.jpg does not exist for this test -->
<img name="JWonline" src="2_greenx.jpg" align=left border=0
onError="imageError(this)"
onAbort="imageError(this)">

<p>Yellow button indicates offline<br>
Green button indicates online

<!-- since yellow button is on, so imonline should be 0 -->
<SCRIPT LANGUAGE="JavaScript">
document.write("<BR>online=",imonline);
</script>

</BODY>
</HTML>

John Wood

Lasse Reichstein Nielsen
Guest
 
Posts: n/a
#2: Jul 20 '05

re: Variable scope - 2


John Wood <john@lortim.demon.co.uk> writes:
[color=blue]
> Can anybody explain why my variable imonline is still 1 even though my
> onError function has fired[/color]

No it hasn't. When your document.write is executed, the image is still
being loaded (or waiting to fail loading). It will probably not finish
loading/failing the image before the page has been fully processed.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Closed Thread