`
gonglianying
  • 浏览: 199708 次
  • 性别: Icon_minigender_2
  • 来自: xxx
文章分类
社区版块
存档分类
最新评论

MSN消息提醒框

阅读更多
<HTML><HEAD>
<TITLE>页面右下角弹出类似QQ或MSN的消息提示</TITLE>
<SCRIPT language=JavaScript>
<!--

/**//*
** ==================================================================================================
** 类名:CLASS_MSN_MESSAGE
** 功能:提供类似MSN消息框
** 示例:
---------------------------------------------------------------------------------------------------

var MSG = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天请我吃饭哈");
MSG.show();

---------------------------------------------------------------------------------------------------
** 作者:ttyp
** 邮件:ttyp@21cn.com
** 日期:2005-3-18
** ==================================================================================================
**/


/**//*
* 消息构造
*/
function CLASS_MSN_MESSAGE(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:200;
this.height = height?height:120;
this.timeout= 500;
this.speed = 20;
this.step = 1;
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;
}

/**//*
* 隐藏消息方法
*/
CLASS_MSN_MESSAGE.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)
}
}

/**//*
* 消息卸载事件,可以重写
*/
CLASS_MSN_MESSAGE.prototype.onunload = function() {
return true;
}
/**//*
* 消息命令事件,要实现自己的连接,请重写它
*
*/
CLASS_MSN_MESSAGE.prototype.oncommand = function(){
//this.close = true;
this.hide();
window.open("http://www.baidu.com");

}
/**//*
* 消息显示方法
*/
CLASS_MSN_MESSAGE.prototype.show = function(){

var oPopup = window.createPopup(); //IE5.5+

this.Pop = oPopup;

var w = this.width;
var h = this.height;

var str = "<DIV style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: " + w + "px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: " + h + "px; BACKGROUND-COLOR: #c9d3f3'>"
str += "<TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0>"
str += "<TR>"
str += "<TD style='FONT-SIZE: 12px;COLOR: #0f2c8c' width=30 height=24></TD>"
str += "<TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #1f336b; 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: #b9c9ef 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 8px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'>" + this.title + "<BR><BR>"
str += "<DIV style='WORD-BREAK: break-all' align=left><A href='javascript:void(0)' hidefocus=false id='btCommand'><FONT color=#ff0000>" + this.message + "</FONT></A>fghfghfghghghgh<A href='http://www.sohu.com' hidefocus=false id='ommand'><FONT color=#ff0000>dfgdfgfg</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();
}
var ommand = oPopup.document.getElementById("ommand");
ommand.onclick = function(){
//this.close = true;
me.hide();
window.open(ommand.href);
}
}
/**//*
** 设置速度方法
**/
CLASS_MSN_MESSAGE.prototype.speed = function(s){
var t = 20;
try {
t = praseInt(s);
} catch(e){}
this.speed = t;
}
/**//*
** 设置步长方法
**/
CLASS_MSN_MESSAGE.prototype.step = function(s){
var t = 1;
try {
t = praseInt(s);
} catch(e){}
this.step = t;
}

CLASS_MSN_MESSAGE.prototype.rect = function(left,right,top,bottom){
try {
this.left = left !=null?left:this.right-this.width;
this.right = right !=null?right:this.left +this.width;
this.bottom = bottom!=null?(bottom>screen.height?screen.height:bottom):screen.height;
this.top = top !=null?top:this.bottom - this.height;
} catch(e){}
}
//var MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天请我吃饭哈");
//MSG1.rect(null,null,null,screen.height-50);
//MSG1.speed = 10;
//MSG1.step = 5;
//alert(MSG1.top);
//MSG1.show();

//同时两个有闪烁,只能用层代替了,不过层不跨框架
var MSG2 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有2封消息","好的啊");
MSG2.rect(100,null,null,screen.height);
MSG2.show();
//-->
</SCRIPT>

<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY></BODY></HTML>
分享到:
评论

相关推荐

    DELPHI7实现QQ/MSN消息提示框

    本主题聚焦于如何利用Delphi来实现类似QQ和MSN的消息提示框功能,这是一种常见于即时通讯软件中的用户体验设计,能够通过动画效果吸引用户的注意力。我们将探讨的核心技术是`AnimateWindow`函数,这是一个Windows ...

    asp.net弹出消息框 类似msn的消息框

    标题和描述中提到的"asp.net弹出消息框 类似msn的消息框"实际上是在指如何在网页上创建一个模仿MSN消息框效果的通知系统。这个系统通常具备简洁的设计、可定制的样式以及能够快速通知用户关键信息的能力。 在ASP...

    MSN一样的信息提示框

    "MSN一样的信息提示框"是针对这一需求的解决方案,它旨在为开发者提供一种方法,使他们的应用能够展现出类似QQ或MSN即时通讯软件中的消息提示效果。这种提示框通常具有吸引人的动画效果、丰富的自定义选项以及良好的...

    页面右下角弹出消息提示框类似QQ或者MSN+ASP.NET

    在ASP.NET开发中,创建一个类似QQ或MSN的页面右下角弹出消息提示框功能是一项常见的需求。这种提示框可以用于通知用户、显示警告信息或者进行交互式操作反馈。以下是一个详细的实现步骤和相关知识点: 1. **CSS布局...

    IE架构下,javascript实现的使用popUp仿照msn提示框,可以跳到页面外

    本文将深入探讨如何利用JavaScript实现一个仿照MSN消息提示框的功能,让弹出窗口不仅局限于当前页面,还能跳转到页面外部。 首先,我们需要理解JavaScript的基本语法和DOM(Document Object Model)操作。DOM是HTML...

    任务栏上弹出类似MSN,QQ的消息提示框

    标题中的“任务栏上弹出类似MSN,QQ的消息提示框”指的是在计算机操作系统中,特别是Windows环境下,应用程序通过特定方式在任务栏上显示类似于即时通讯软件(如MSN、QQ)的新消息通知。这种通知通常是一个小窗口...

    Ext 仿QQ-MSN出现消息框

    在这个项目中,开发者可能使用了ExtJS的Panel、Window或者其他自定义组件来模仿QQ或MSN的消息提示框效果,包括弹出位置、样式、动画以及关闭按钮等细节。 描述中提到的“NULL”可能是原始博主在发布时没有填写具体...

    QQ,MSN样的简单消息提示框

    在VB.NET 2008环境下,开发一个类似QQ或MSN的消息提示框是一个常见的编程练习,这涉及到用户界面(UI)设计以及事件处理。这里我们将深入探讨如何创建这样的功能。 首先,我们需要理解消息提示框的基本功能。在QQ和...

    演示用API实现MSN消息提示类似窗体

    在Windows API中,`AnimateWindow`函数用于添加动画效果到窗口的显示或隐藏过程,这可以是模拟MSN消息提示框弹出和消失的动态效果。 综合以上信息,这个示例可能涵盖了以下知识点: 1. Delphi 7的基本使用,包括...

    弹出 类似MSN消息框

    MSN Messenger曾经广泛使用,它的消息框设计简洁、直观,用于提示用户接收新消息或其他交互式通知。在当前的软件开发中,模拟这种功能可以提升用户体验,特别是在需要快速通知用户或者进行轻量级交互的场景。 实现...

    仿QQ.MSN消息提示界面

    在IT行业中,创建类似QQ和MSN的消息提示界面是一项常见的任务,尤其在开发桌面应用程序时,这类功能能够提供直观且友好的用户体验。这个“仿QQ.MSN消息提示界面”项目的目标是模仿这两种即时通讯软件中的消息通知...

    JS模仿MSN消息提示效果.zip

    在本项目"JS模仿MSN消息提示效果"中,开发者使用JS来模拟MSN(Microsoft Network)即时通讯软件的经典消息提示功能。MSN曾经是流行的聊天工具,它的消息提示窗口设计简洁且易于用户理解,因此这种效果被许多开发者...

    仿MSN提示框+仿迅雷提示框(C#)

    MSN(Microsoft Network)曾是微软提供的一项即时通讯服务,其消息提示框具有特定的设计风格和功能。为了在C#中复制这种效果,你需要了解以下几个关键知识点: 1. Windows Forms:C#中的Windows Forms库允许开发...

    任务栏上弹出类似MSN,QQ的消息提示框(酷)

    通过分析和扩展这个类,我们可以创建一个更强大、更个性化的任务栏消息提示框,以满足特定应用的需求,如接收和处理不同类型的事件,支持多语言,甚至添加声音提醒等。 总之,创建任务栏上的消息提示框是提升用户...

    VC 任务栏上弹出类似MSN,QQ的消息提示框.rar

    在编程领域,尤其是在Windows桌面应用开发中,有时候我们需要创建一种通知机制,使应用程序能够在任务栏上弹出类似于MSN和QQ的消息提示框,以提醒用户有新的消息或事件发生。这个"VC 任务栏上弹出类似MSN,QQ的消息...

    javascript实现弹消息提示框 像各大邮箱提示有新邮件收到或QQ和MSN提示

    在本教程中,我们将探讨如何实现一个类似于各大邮箱、QQ和MSN的消息提示框效果,该提示框会在页面的右下角弹出。 首先,我们需要了解JavaScript中的基本弹出窗口方法——`alert()`,`prompt()`和`confirm()`。但...

    仿照QQ消息弹出框或提示框

    消息弹出框、提示框 仿照MSN和QQ的消息弹出框,自己修改了哈,希望对大家有用!

    仿MSN提示框和仿迅雷提示框

    "仿MSN提示框和仿迅雷提示框"是两个针对Windows操作系统中的通知提示设计的实例,它们模仿了流行即时通讯软件MSN Messenger和下载工具迅雷的提示效果,特别是从右下角托盘区域弹出小窗口的特色功能,并且还加入了...

Global site tag (gtag.js) - Google Analytics