Mega Code Archive

 
Categories / JavaScript DHTML / GUI Components
 

Popup window animation (fly across screen)

/* Examples From JavaScript: The Definitive Guide, Fourth Edition Legal matters: these files were created by David Flanagan, and are Copyright (c) 2001 by David Flanagan.  You may use, study, modify, and distribute them for any purpose.  Please note that these examples are provided "as-is" and come with no warranty of any kind. David Flanagan */ <html> <script> // Here are the initial values for our animation.  var x = 0, y = 0, w=200, h=200;  // Window position and size var dx = 5, dy = 5;              // Window velocity    var interval = 100;              // Milliseconds between updates // Create the window that we're going to move around. // The javascript: URL is simply a way to display a short document. // The final argument specifies the window size. var win = window.open('javascript:"<h1>BOUNCE!</h1>"', "",            "width=" + w + ",height=" + h); // Set the initial position of the window. win.moveTo(x,y); // Use setInterval() to call the bounce() method every interval  // milliseconds. Store the return value so that we can stop the // animation by passing it to clearInterval(). var intervalID  = window.setInterval("bounce()", interval); // This function moves the window by (dx, dy) every interval ms. // It bounces whenever the window reaches the edge of the screen. function bounce() {     // If the user closed the window, stop the animation.     if (win.closed) {         clearInterval(intervalID);         return;     }     // Bounce if we have reached the right or left edge.     if ((x+dx > (screen.availWidth - w)) || (x+dx < 0)) dx = -dx;     // Bounce if we have reached the bottom or top edge.     if ((y+dy > (screen.availHeight - h)) || (y+dy < 0)) dy = -dy;     // Update the current position of the window.     x += dx;     y += dy;     // Finally, move the window to the new position.     win.moveTo(x,y); } </script> <!-- Clicking this button stops the animation! --> <form> <input type="button" value="Stop"         onclick="clearInterval(intervalID); win.close();"> </form> </html>