`
hipeace87
  • 浏览: 174377 次
  • 性别: Icon_minigender_1
  • 来自: 山东菏泽
社区版块
存档分类
最新评论

网页中的MSN弹出窗口

阅读更多
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>MSN 弹出消息框</title>
<script language="javascript" type="text/javascript">
function MessShow( id, width, height, caption, title, message, target, action )
{
   this.id         = id;
   this.title      = title;
   this.caption    = caption;
   this.message    = message;
   this.target     = target;
   this.action     = action;
   this.width      = width ? width : 250;
   this.height     = height ? height : 150;
   this.timeout    = 250;
   // 消息停留时间
   this.speed      = 10;
   // 消息速度,越小越快
   this.step       = 2;
   // 移动步长
   this.right      = screen.width - 1;
   this.bottom     = screen.height;
   this.left       = this.right - this.width;
   this.top        = this.bottom - this.height;
   this.timer      = 0;
   this.pause      = false;
   this.close      = false;
   this.autoHide   = true;
}
//  ---------------------------------------
MessShow.prototype.hide = function()
{
   if( this.onunload() )
   {
      var offset = this.height > this.bottom - this.top ? this.height : this.bottom - this.top;
      var me = this;
      if( this.timer > 0 )
      {
         window.clearInterval( me.timer );
      }
      var fun = function()
      {
         if( me.pause == false || me.close )
         {
            var x = me.left;
            var y = 0;
            var width = me.width;
            var height = 0;
            if( me.offset > 0 )
            {
               height = me.offset;
            }
            y = me.bottom - height;
            if( y >= me.bottom )
            {
               window.clearInterval( me.timer );
               me.Pop.hide();
            }
            else
            {
               me.offset = me.offset - me.step;
            }
            me.Pop.show( x, y, width, height );
         }
      }
      this.timer = window.setInterval( fun, this.speed )
   }
}
//  ---------------------------------------
// 消息卸载事件,可以重写
MessShow.prototype.onunload = function()
{
   return true;
}
//  ---------------------------------------
// 消息命令事件,要实现自己的连接,请重写它
MessShow.prototype.oncommand = function()
{
   window.open( this.action, this.target );
   this.hide();
}
//  ---------------------------------------
// 消息显示方法
MessShow.prototype.show = function()
{
   if(msg!= null)
   {
     msg.innerHTML = "";
     msg = null;
     delete msg;
     CollectGarbage();
   }
   var oPopup = window.createPopup();
   // IE5.5 +
   this.Pop = oPopup;
   var w = this.width;
   var h = this.height;
   var str = "<DIV style='BORDER-RIGHT:#005FEE 1px solid; BORDER-TOP:#005FEE 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT:#005FEE 1px solid; WIDTH: " + w + "px; BORDER-BOTTOM:#005FEE 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: " + h + "px; BACKGROUND-COLOR:#FFFFFF'>"
   str += "<TABLE style='BORDER-TOP: #FFFFFF 1px solid; BORDER-LEFT: #FFFFFF 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#FFFFFF border=0>"
   str += "<TR>"
   str += "<TD style='FONT-SIZE: 12px;COLOR: #0052CC' width=30 height=24>∵</TD>"
   str += "<TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR:#0052CC; PADDING-TOP: 4px' vAlign=center width='100%'>" + this.caption + "</TD>"
   str += "<TD style='PADDING-RIGHT: 2px; PADDING-TOP: 2px' vAlign=center align=right width=19>"
   str += "<SPAN title=关闭 style='FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px' id='btSysClose' >×</SPAN></TD>"
   str += "</TR>"
   str += "<TR>"
   str += "<TD style='PADDING-RIGHT: 1px;PADDING-BOTTOM: 1px' colSpan=3 height=" + ( h - 28 ) + ">"
   str += "<DIV style='BORDER-RIGHT: FFFFFF 1px solid; PADDING-RIGHT: 8px; BORDER-TOP:#66A3FF 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT:#FFFFFF 1px solid; WIDTH: 100%; COLOR:#FFFFFF; PADDING-TOP: 8px; BORDER-BOTTOM:#FFFFFF 1px solid; HEIGHT: 100%'><FONT color=#EE0000>" + this.title + "</FONT><BR><BR>"
   str += "<DIV style='WORD-BREAK: break-all' align=left><A href='javascript:void(0)' hidefocus=true id='btCommand'><FONT color=#EE0000>" + this.message + "</FONT></A></DIV>"
   str += "</DIV>"
   str += "</TD>"
   str += "</TR>"
   str += "</TABLE>"
   str += "</DIV>"
   oPopup.document.body.innerHTML = str;
   this.offset = 0;
   var me = this;
   oPopup.document.body.onmouseover = function()
   {
      me.pause = true;
   }
   oPopup.document.body.onmouseout = function()
   {
      me.pause = false;
   }
   var fun = function()
   {
      var x = me.left;
      var y = 0;
      var width    = me.width;
      var height    = me.height;
      if( me.offset > me.height )
      {
         height = me.height;
      }
      else
      {
         height = me.offset;
      }
      y = me.bottom - me.offset;
      if( y <= me.top )
      {
         me.timeout -- ;
         if( me.timeout == 0 )
         {
            window.clearInterval( me.timer );
            if( me.autoHide )
            {
               me.hide();
            }
         }
      }
      else
      {
         me.offset = me.offset + me.step;
      }
      me.Pop.show( x, y, width, height );
   }
   this.timer = window.setInterval( fun, this.speed )
   var btClose = oPopup.document.getElementById( "btSysClose" );
   btClose.onclick = function()
   {
      me.close = true;
      me.hide();
   }
   var btCommand = oPopup.document.getElementById( "btCommand" );
   btCommand.onclick = function()
   {
      me.oncommand();
   }
}
//  ---------------------------------------
// 设置速度方法
MessShow.prototype.speed = function( s )
{
   var t = 10;
   try
   {
      t = praseInt( s );
   }
   catch( e )
   {
   }
   this.speed = t;
}
//  ---------------------------------------
// 设置步长方法
MessShow.prototype.step = function( s )
{
   var t = 2;
   try
   {
      t = praseInt( s );
   }
   catch( e )
   {
   }
   this.step = t;
}
//  ---------------------------------------
MessShow.prototype.rect = function( left, right, top, bottom )
{
   try
   {
      this.left    = left ? left : 0;
      this.right    = right ? right : screen.availWidth - 1;
      this.top    = top ? top : 0;
      this.bottom = bottom ? bottom : screen.availHeight;
   }
   catch( e )
   {
   }
}
//  ---------------------------------------
function load()
{
  if (objTime)
  {
   clearTimeout(objTime);
  }
   var msg = new MessShow( "hello", 250, 150, "信息", "光之翼,你好!", "QQ:272912705 请求加为好友!", "_bank", 'http://www.baidu.com' );
   msg.show();
   objTime = setTimeout("load()",2 * 8000);
}
//  ---------------------------------------
var objTime = setTimeout("load()",2000);
    </script>
</head>
<body >
    <form id="form1">
    <div>
    </div>
    </form>
</body> 
</html>


功能强大的弹出窗口提示,提示内容可更改
这是以前做一个OA的提示信息时找到的,和大家来分享下
if(msg!= null)
   {
     msg.innerHTML = "";
     msg = null;
     delete msg;
     CollectGarbage();
   }
是我自己改的,因为发现如果定时弹出时(弹出内容很多)
多次后IE所占用的内存会一直增加,加上后内存增加的速度减小了很多 不过还不能控制它增加,哪位有办法解决大家分享下
分享到:
评论

相关推荐

    ASP.NET类似MSN弹出提示窗口

    在标题中提到的"ASP.NET类似MSN弹出提示窗口",我们可以理解为开发者希望通过ASP.NET创建一个模拟MSN聊天软件中的通知功能,即在网页上实现一个可以弹出的对话框,用于显示消息或进行用户交互。这个功能通常通过...

    仿msn的三种弹出窗口效果范例

    在IT行业中,用户界面的设计和交互体验至关重要,而模拟知名软件如MSN的弹出窗口效果是一种常见的提升用户体验的方法。本文将详细讲解如何实现类似MSN的三种弹出窗口效果,并探讨其背后的技术原理。 首先,我们要...

    ASP.NET版 仿QQ MSN 右下角 弹出窗口 提示小窗口 控件

    ASP.NET版 仿QQ MSN 右下角 弹出窗口 提示小窗口 控件仿MSN右下角的弹出窗口控件,实际上不仅仅局限于右下角,网页的其它地方都可以用,这是Asp.net修正版。  源代码中包括C#、VB.net两种代码的示例,以及控件源...

    分享一个改进版的仿MSN/QQ弹出窗口(C#)

    标题中的“分享一个改进版的仿MSN/QQ弹出窗口(C#)”表明这是一个关于使用C#编程语言开发的,模仿MSN和QQ聊天软件弹出窗口功能的程序。这个程序允许开发者自定义弹出窗口的外观、内容和链接,以适应不同应用场景的...

    WebPopup 类似msn弹出窗口(vs2008)

    WebPopup 是一个基于C#开发的控件,它在Visual Studio 2008环境下编译并通过了测试,设计灵感来源于MSN(微软即时通讯软件)的弹出窗口效果。这个控件可以为开发者提供一种优雅的方式,在Web应用程序中实现类似即时...

    如何设置浏览器允许弹出窗口

    为了确保网页能够正确显示,我们需要学会如何设置浏览器允许弹出窗口。以下是一些常见浏览器及第三方软件的解决办法。 1. **Windows XP SP 2 允许弹出窗口解决方法** - 右键点击“我的电脑”图标,选择“属性”,...

    弹出 类似MSN消息框

    标题中的“弹出类似MSN消息框”指的是在应用程序中创建一个类似于早期即时通讯软件MSN Messenger的通知或对话框。MSN Messenger曾经广泛使用,它的消息框设计简洁、直观,用于提示用户接收新消息或其他交互式通知。...

    msn方式弹出窗口提示的脚本代码效果图

    在提供的资源中,"msn方式弹出窗口提示的脚本代码效果图"可能包含了上述部分或全部技术的示例代码和演示。下载后,你可以查看代码,学习如何将这些技术结合使用,以创建自定义的弹出窗口提示效果。通过研究和实践,...

    vb.net弹出窗口

    VB.NET弹出窗口技术在开发桌面应用程序时常常用于创建用户交互体验,特别是在使用Visual Studio 2005这样的集成开发环境中。本知识点将深入探讨如何在VB.NET中实现动画效果的弹出窗口、设计美观的界面、嵌入详细内容...

    网页上弹出消息提示窗口

    动画方式弹出,就像MSN的提示框 2:漂亮,详细见配图 3:还可以再在开一个更加详细的内容网页 4:自动关闭,无需手工确认那个ok 5:示例包括C#和VB两个版本,popUp的源文件在Source文件夹中 6:用起来...

    真正屏幕右下角弹出消息窗口

    这种技术通常用于模仿像QQ和MSN这样的即时通讯软件的提醒功能,它们能够在用户不主动打开应用程序的情况下,通过桌面弹出窗口传达新消息或其他重要通知。 描述中提到,测试显示这种技术在Internet Explorer(IE)...

    弹出类似MSN的消息提示.rar

    而“弹窗漂浮”则意味着弹出窗口会在页面上保持浮动状态,即使用户滚动页面,它也会固定在屏幕的某个位置。 在提供的压缩包文件中,有两个文件:`index.htm`和`说明.htm`。`index.htm`通常是网页的主文件,包含HTML...

    js脚本 仿MSN弹出消息

    总之,使用JavaScript实现仿MSN弹出消息功能,可以增强网页的交互性和吸引力,而这个过程涉及到了JavaScript的基础语法、DOM操作、CSS动画和事件处理等多个核心知识点。通过实践和不断学习,你可以创建出更加复杂且...

    模仿MSN窗口右下角弹出对话框的js代码

    2. **CSS样式控制**:为了使弹出窗口看起来像MSN的对话框,我们需要定义CSS样式。这包括设置背景色、边框、阴影、位置等。例如,我们可以将弹窗定位在屏幕右下角,使用`position: fixed; bottom: 0; right: 0;`等...

    js-00150015-模仿MSN弹出对话框

    【描述】描述中的"js-00150015-模仿MSN弹出对话框"表明这是一个基于JavaScript的实践项目,目标是创建一个与MSN聊天窗口相似的弹出对话框。JavaScript作为前端开发的重要语言,常用于处理用户交互、动态内容更新以及...

    仿MSN页面弹出提示,popupWin控件ajax无刷新定时显示,页面加载时不显示

    实现这一功能,开发者需要创建一个能够动态显示和隐藏的弹出窗口,同时考虑其样式设计以保持与MSN等即时通讯软件的一致性。 2. **popupWin控件**:popupWin是一个常见的JavaScript或者jQuery插件,用于创建可控制的...

    Android PopupWin ASP.NET弹出窗

    "Android PopupWin ASP.NET弹出窗"是一个专为ASP.NET平台设计的功能,它借鉴了QQ和MSN聊天软件中的右下角弹出窗口样式,以提供更加直观、吸引用户的提示信息或功能展示方式。这种设计模式在现代网页应用中十分常见,...

    popupWin控件使用示例(定时弹出MSN提示框)

    4. **构建弹出内容**:根据业务需求,你可以提前准备一个HTML模板,将接收到的新数据动态插入到模板中,形成弹出窗口的内容。 5. **关闭弹出窗口**:如果定时器触发时没有新数据,可以保持PopupWin关闭。或者,用户...

    jquery实现类似MSn,QQ窗口

    这个应用可能是为了在网页上实现即时通讯或者通知功能,模仿了桌面聊天软件的弹出窗口样式,通常出现在屏幕的右下角,以便不干扰用户浏览主内容。 首先,我们要了解jQuery,它是一个流行的JavaScript库,简化了HTML...

    页面右下角弹出类似QQ或MSN的消息提示.pdf

    这种效果模仿了即时通讯软件如QQ和MSN的对话窗口弹出方式,能够吸引用户的注意力而不打扰其浏览主页面。在本文中,我们将深入探讨如何使用JavaScript实现这一功能。 JavaScript 是一种广泛应用于网页动态效果和用户...

Global site tag (gtag.js) - Google Analytics