一个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 + ")";
}
}
(摘自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 + ")";
}
}
分类:
06~javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)