您的位置:首页 > Web前端 > JavaScript

JavaScript面向对象的一个例子

2014-04-05 00:00 246 查看
一个JS的操作弹出窗口位置的类。

(摘自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 + ")";
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息