Building A Great DHTML Chaser - DHTML Lab | 4
DHTML in GreatEqualizer.com, I:
Building A Great DHTML Chaser
Object Literals
Object literals are similar to array literals in that they are a simple way to assign an entire complex data type to a variable with just one command. Object literals look like this:
myCarObject = { make: "Ford", model: "Escort", color: "White", miles: 1000000, quality: "extremely low" }
... which is the same as saying:
myCarObject = new Object() myCarObject.make = "Ford" myCarObject.model = "Escort" myCarObject.color = "White" myCarObject.miles = 1000000 myCarObject.quality = "extremely low"
The Simple Chaser
Now that I've shown you the algorithm and the syntax, here's the simple chaser script:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> // "hover" is the point below the top frame of the window that // I want the chaser to attempt to maintain. // "divisor" has a direct relationship with // the smoothness of the animation, and an inverse relationship // with the length of the animation. // "callRate" has an inverse relationship // with the length of the animation. // supply the id of the target <DIV> tag for "layer" // between the last set of brackets. Chaser = { hover : 50, divisor : 6, callRate: 55, layer : document[document.all ? "all" : "layers"]["myChaser"] } // We will constantly call this function to check the position // of the chaser relative to the window frame, and move it if necessary. Chaser.paint = function() { // browser specific way to check amount window has scrolled by. targetY = (document.all ? document.body.scrollTop : window.pageYOffset) + Chaser.hover; // browser specific way to check chaser's position. currentY = document.all ? Chaser.layer.style.pixelTop : Chaser.layer.top difference = currentY - targetY; decrement = Math.round(difference / Chaser.divisor); // browser-specific method of moving chaser if (document.all) Chaser.layer.style.pixelTop -= decrement else Chaser.layer.top -= decrement } window.setInterval("Chaser.paint()", Chaser.callRate) </SCRIPT>
The results of this simple script can be viewed here: simple_chaser.html.
After you've given the chaser a look, move on to the next page where we point out a fundamental problem with the script thus far.
Produced by Aaron Boodman and
All Rights Reserved. Legal Notices.Revised: Sept 19, 2000
URL: https://www.webreference.com/dhtml/column37/4.html