博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

上帝他爷

分别担任CU、ITPUB以及CSDN社区的MySQL版主! 我本来想说我是吃屎的! ^_^
  yueliangdao0608.cublog.cn

关于作者
姓名:杨涛
职业:DBA
年龄:25
位置:中国-深圳
个性介绍:又长了一岁
QQ:38257291
MSN:yueliangdao0608@gmail.com
|| << >> ||
我的分类


JavaScript面向对象的一个例子
一个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 + ")";
            }
        }



发表于: 2007-10-17,修改于: 2007-10-17 10:22,已浏览540次,有评论0条 推荐 投诉


网友评论
 发表评论