<SCRIPT language=JavaScript>
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= 350;
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(){
alert('确定');
this.close = true;
this.hide();
}
/**//*
* 消息显示方法
*/
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=true id='btCommand'><FONT color=#ff0000>" + 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();
}
}
/**//*
** 设置速度方法
**/
CLASS_MSN_MESSAGE.prototype.speed = function(s){
var t = 1;
try {
t = praseInt(s);
} catch(e){}
this.speed = t;
}
/**//*
** 设置步长方法
**/
CLASS_MSN_MESSAGE.prototype.step = function(s){
var t = 10;
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-30);
MSG1.speed = 25;
MSG1.step = 2;
MSG1.show();
</SCRIPT>
分享到:
相关推荐
标题中的"CLASS_MSN_MESSAGE右下角弹出类似QQ或MSN消息提示.rar"指的是一个压缩文件,其中包含了一个文档,该文档可能详细介绍了如何在Windows操作系统中创建或模拟一种类名为"CLASS_MSN_MESSAGE"的弹窗效果,这种...
`CLASS_MSN_MESSAGE`接受一系列参数,如`id`(元素ID)、`width`(宽度)、`height`(高度)、`caption`(标题)、`title`(消息内容)、`message`(提示文本)、`target`(目标链接)、`action`(链接行为)。...
右下角逐渐弹出广告公告窗口 ①已实现链接可用 ...var msg0 = new CLASS_MSN_MESSAGE("noticeBox1",300,120,"维权365公告1(共2条)","公告发布日期:2008年9月10日","维权365“专业律师团”合作招募中","_blank",...
`CLASS_MSN_MESSAGE` 是一个自定义类,用于创建并管理一个弹出的消息提示框。它接受多个参数以定义提示框的样式、位置、内容等属性,并提供了若干方法来控制提示框的行为。 - **构造函数**: - **id**: 提示框的...
var myMessage = new CLASS_MSN_MESSAGE('msg1', 200, 120, 'Caption', 'Title', 'This is a message.', '', ''); ``` #### 显示和隐藏弹出框 ```javascript myMessage.show(); // 显示弹出框 setTimeout(function ...
- `CLASS_MSN_MESSAGE`是一个自定义的JavaScript类,用于创建消息提示框。 - 构造函数接收多个参数:`id`、`width`、`height`、`caption`、`title`、`message`、`url`、`target`、`action`等,用于定制消息提示框...
在CLASS_MSN_MESSAGE类的onunload方法中,默认返回true,该方法的作用是在页面卸载时执行某些操作,比如停止定时器,防止资源泄露。 通过上述知识点,开发者可以创建一个类似QQ新闻的提示框,并且实现每隔半小时...
BEGIN_MESSAGE_MAP(CMyDialog, CDialog) ON_WM_INITDIALOG() END_MESSAGE_MAP() BOOL CMyDialog::OnInitDialog() { CDialog::OnInitDialog(); m_richEditCtrl.SubclassDlgItem(IDC_RICHEDIT, this); return ...
information needed to create and edit message maps and dialog data maps and to create prototype member functions. resCNIcq.ico This is an icon file, which is used as the application s icon. This...
VC 参考MSN写的登录及聊天程序,由输入的用户名密码启动msn机器人,在CLASSWIZARD中的CLASS INFO页中修改:MESSAGE FILTER的信息,即将DIALOG改为WINDOW即可,然后在MESSAGE MAPS页中就有WM_SYSCOMMAND消息,添加...
在网页设计中,为了增强用户体验和互动性,开发者经常会在页面右下角设计类似QQ或MSN的消息提示功能。这种功能可以模拟即时通讯软件中的消息通知,让用户在浏览网页时能够实时接收并查看重要信息。本教程将深入探讨...
dialog.classList.add('dialog'); document.body.appendChild(dialog); // 添加发送消息按钮事件监听 const sendMessageBtn = document.getElementById('send-message'); sendMessageBtn.addEventListener('...
在本教程中,我们将探讨如何实现一个类似于各大邮箱、QQ和MSN的消息提示框效果,该提示框会在页面的右下角弹出。 首先,我们需要了解JavaScript中的基本弹出窗口方法——`alert()`,`prompt()`和`confirm()`。但...
2. **Message模块**:负责发送和接收文本、表情、文件等不同类型的聊天消息。 3. **ContactList模块**:管理联系人列表,包括添加、删除和查找联系人。 4. **Event处理模块**:监听并处理MSN服务器发送的各种事件,...
protected override void WndProc(ref Message m) { if (m.Msg == WM_NCHITTEST) { m.Result = new IntPtr((int)HitTestValues.HTCAPTION); return; } base.WndProc(ref m); } private const int WM_...
1. **主程序类(Main Class)**:项目的入口点,启动聊天程序并处理整体流程。 2. **用户界面(User Interface)**:可能使用Swing或JavaFX来创建图形用户界面,包括登录窗口、联系人列表、聊天窗口等。 3. **网络...
public partial class BubbleTip : Form { private Timer timer; private float opacity = 1.0f; public BubbleTip(string message) { InitializeComponent(); this.Text = message; timer = new Timer();...
MailboxTypes.put("msn","smtp.msn.com"); MailboxTypes.put("kum", "mail.kum.net.cn"); MailboxTypes.put("hotmail","smtp.hotmail.cn"); } /** * initialization 实例化类成员变量 */ private ...
2. **消息映射(Message Maps)**:MFC 的消息映射机制是处理用户输入和其他事件的关键。在 MFC 程序中,每个窗口类都有一个消息映射,它定义了特定的消息应该如何被处理。例如,当一个套接字接收到数据时,MFC 应用...