| 
  /*
 JavaScript Bible, Fourth Edition
 by Danny Goodman
 
 Publisher: John Wiley & Sons CopyRight 2001
 ISBN: 0764533428
 */
 
 
 <HTML>
 <HEAD>
 <TITLE>Image Object</TITLE>
 <SCRIPT LANGUAGE="JavaScript">
 // global declaration for 'desk' images array
 var imageDB
 // pre-cache the 'desk' images
 if (document.images) {
 // list array index names for convenience
 var deskImages = new Array("desk1", "desk2", "desk3", "desk4")
 // build image array and pre-cache them
 imageDB = new Array(4)
 for (var i = 0; i < imageDB.length ; i++) {
 imageDB[deskImages[i]] = new Image(120,90)
 imageDB[deskImages[i]].src = deskImages[i] + ".gif"
 }
 }
 // change image of 'individual' image
 function loadIndividual(form) {
 if (document.images) {
 var gifName = form.individual.options[form.individual.selectedIndex].value
 document.thumbnail1.src = gifName + ".gif"
 }
 }
 // change image of 'cached' image
 function loadCached(form) {
 if (document.images) {
 var gifIndex = form.cached.options[form.cached.selectedIndex].value
 document.thumbnail2.src = imageDB[gifIndex].src
 }
 }
 // if switched on, cycle 'cached' image to next in queue
 function checkTimer() {
 if (document.images && document.Timer.timerBox.checked) {
 var gifIndex = document.selections.cached.selectedIndex
 if (++gifIndex > imageDB.length - 1) {
 gifIndex = 0
 
 }
 document.selections.cached.selectedIndex = gifIndex
 loadCached(document.selections)
 var timeoutID = setTimeout("checkTimer()",5000)
 }
 }
 // reset form controls to defaults on unload
 function resetSelects() {
 for (var i = 0; i < document.forms.length; i++) {
 for (var j = 0; j < document.forms[i].elements.length; j++) {
 if (document.forms[i].elements[j].type == "select-one") {
 document.forms[i].elements[j].selectedIndex = 0
 }
 }
 }
 }
 // get things rolling
 function init() {
 loadIndividual(document.selections)
 loadCached(document.selections)
 setTimeout("checkTimer()",5000)
 }
 </SCRIPT>
 </HEAD>
 <BODY onLoad="init()" onUnload="resetSelects ()">
 <H1>Image Object</H1>
 <HR>
 <CENTER>
 <TABLE BORDER=3 CELLPADDING=3>
 <TR><TH></TH><TH>Individually Loaded</TH><TH>Pre-cached</TH></TR>
 <TR><TD ALIGN=RIGHT><B>Image:</B></TD>
 <TD><IMG SRC="cpu1.gif" NAME="thumbnail1" HEIGHT=90 WIDTH=120></TD>
 <TD><IMG SRC="desk1.gif" NAME="thumbnail2" HEIGHT=90 WIDTH=120></TD>
 </TR>
 <TR><TD ALIGN=RIGHT><B>Select image:</B></TD>
 <FORM NAME="selections">
 <TD>
 <SELECT NAME="individual" onChange="loadIndividual(this.form)">
 <OPTION VALUE="cpu1">Wires
 <OPTION VALUE="cpu2">Keyboard
 <OPTION VALUE="cpu3">Desks
 <OPTION VALUE="cpu4">Cables
 </SELECT>
 </TD>
 <TD>
 <SELECT NAME="cached" onChange="loadCached(this.form)">
 <OPTION VALUE="desk1">Bands
 <OPTION VALUE="desk2">Clips
 <OPTION VALUE="desk3">Lamp
 <OPTION VALUE="desk4">Erasers
 </SELECT></TD>
 </FORM>
 </TR></TABLE>
 <FORM NAME="Timer">
 <INPUT TYPE="checkbox" NAME="timerBox" onClick="checkTimer()">Auto-cycle through
 pre-cached images
 </FORM>
 </CENTER>
 </BODY>
 </HTML>
 
 
 
 
 |