JavaScript面向对象的一个例子
2014-04-05 00:00
246 查看
一个JS的操作弹出窗口位置的类。
(摘自JavaScript Definitive Guide)
(摘自JavaScript Definitive Guide)
var bounce = { x:0,y:0,w:200,h:200, // Window position and size dx:5, dy:5, // Window velocity interval:100, // Milliseconds between updates win: null, // The window we will create timer:null, // Return value of setInterval() //Start the animation start:function() { // Start with the window in the center of the screen bounce.x = (screen.width - bounce.w)/2; bounce.y = (screen.height - bounce.h)/2; // 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 bounce.win = window.open('javascript:"<h1>Bounce!</h1>"',"","left=" + bounce.x + ",top=" + bounce.y + ", width=" + bounce.w + ", height=" + bounce.h + ", status=yes"); // Use setInterval() to call the nextFrame() method every interval // milliseconds. Store the return value so that we can stop the // animation by passing it to clearInterval(). bounce.timer = setInterval(bounce.nextFrame, bounce.interval); }, // Stop the animation stop: function(){ clearInterval(bounce.timer); // Cancel timer if(!bounce.win.closed){ // Close window bounce.win.close(); } }, //Display the next frame of the animation. Invoked by setInterval() nextFrame:function(){ // If the user closed the window, stop the animation if (bounce.win.closed){ clearInterval(bounce.timer); return; } // Bounce if we have reached the right or left edge if ((bounce.x + bounce.dx > (screen.availWidth - bounce.w)) || (bounce.x + bounce.dx <0)){ bounce.dx = -bounce.dx; } // Bounce if we have reached the bottom or top edge if ((bounce.y + bounce.dy > (screen.availHeight - bounce.h))|| (bounce.y + bounce.dy < 0)){ bounce.dy = - bounce.dy; } // Update the current postion of the window bounce.x += bounce.dx; bounce.y += bounce.dy; // Finally, move the window to the new position bounce.win.moveTo(bounce.x, bounce.y); // Display current position in window status line bounce.win.defaultStatus = "(" + bounce.x + "," + bounce.y + ")"; } } |
相关文章推荐
- 【自】JavaScript面向对象初探二:通过编写一个拖拽例子,让我们了解对象的继承
- Javascript面向对象相关的一个例子
- JavaScript面向对象的一个例子
- JavaScript:一个面向对象的例子
- JavaScript面向对象的一个例子
- 一个使用javascript promise的例子
- 第一次用javascript写了一个不用刷新就能实现--用户名验证的例子
- perl 一个简单的面向对象的例子
- 一个面向对象的JS例子,很好的支持了开闭原则(不要重复你昨天的代码)
- 一个例子理解java面向对象的机制
- 学习javascript的闭包特性用C#来实现一个简单的例子
- 第一次用javascript写了一个不用刷新就能实现--用户名验证的例子
- 以一个最简单的例子把OO的JavaScript说明白
- 一个例子理解java面向对象的机制
- 中级JavaScript例子, 如何实现一个简单实用的模板套用机制, GXTemplate , 第2章(估计要写9章)
- Simple JavaScript Inheritance--一个极简JS面向对象-类库
- 中级JavaScript例子, 如何实现一个简单实用的模板套用机制, GXTemplate , 第4章(估计要写9章)
- blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
- php 面向对象的一个例子
- js面向对象写法,一个小例子