The assignment was to explore sample DHTML pages on the Web, either at Microsoft or Netscape Web sites, or by searching the term DHTML sample pages in a search engine. Then choose one Web page, print it out from the Web browser, and list the elements and, if applicable, describe briefly how they respond to a users actions. |
Problem: Do they realize how long JavaScript Code is? |
This function moves a positioned object from its current location to
a new one. Optionally, another JavaScript function can be fired upon completion of move (including another move). |
This script would be copied and pasted into an existing DHTML document. |
script language="JavaScript" !-- function WM_moveTo(daObject, endLeft, endTop, numSteps, delay, endFunction) { /* WM_moveTo() Moves an object from its current location to a new location and optionally fires a function when it's done. Source: Webmonkey Code Library Author: Nadav Savio Author Email: nadav@wired.com Usage: WM_moveTo('objectName', endingLeft, endingTop, numberOfSteps, delayBetweenSteps, 'functionToFire()'); */ // Declare variables. var leftInc, topInc, daObj = new Object; // The first time through, create document.WM.WM_moveTo if (typeof document.WM == 'undefined'){ document.WM = new Object; document.WM.WM_moveTo = new Object; } else if (typeof document.WM.WM_moveTo == 'undefined') { document.WM.WM_moveTo = new Object; } // Store endFunction to execute when the move is finished. if(endFunction) document.WM.WM_moveTo.endFunction = endFunction; // Get a good object reference (call it daObj) from WM_checkIn(). // But if we've already done so, don't check it in again. if (daObject == "sameObj") { daObj = document.WM.WM_moveTo.daObj; } else { daObj = WM_checkIn(daObject); document.WM.WM_moveTo.daObj = daObj; } // If this is the last step, go to the end point and run endFunction. if (numSteps == 1) { daObj.left = endLeft; daObj.top = endTop; // If an endFunction was set, execute it and then delete it. if(document.WM.WM_moveTo.endFunction) { daFunction = document.WM.WM_moveTo.endFunction; document.WM.WM_moveTo.endFunction = ''; eval(daFunction); } } else { // Otherwise, figure out how far to move. leftInc = (endLeft - parseInt(daObj.left)) / numSteps; topInc = (endTop - parseInt(daObj.top)) / numSteps; // Then move, decrement numSteps, and do it all again. daObj.left = parseInt(daObj.left) + leftInc; daObj.top = parseInt(daObj.top) + topInc; numSteps--; setTimeout ('WM_moveTo(\'sameObj\', ' + endLeft + ', ' + endTop + ', ' + numSteps + ', ' + delay + ')', delay); } } // --> /script>