最近论坛需要增加类似QQ、MSN消息提示的功能,从网上找了一些,感觉都不太方便,所以自己重新写了一个小东东,分享出来,希望对大家有用。
/////////////////////////////////////////////////////
// 2007-05-01
// EZERG ezerg@126.com
/////////////////////////////////////////////////////
function $(n){
return document.getElementById(n);
}
function $i(i){
try{
return parseInt(i);
}catch(ex){
return 0;
}
}
function MessageTip(id)
{
this.id = id;
this.obj = $(id);
this.divTop = $i(this.obj.style.top);
this.divLeft = $i(this.obj.style.left);
this.divHeight = this.obj.offsetHeight;
this.divWidth = this.obj.offsetWidth;
this.docWidth = document.body.clientWidth;
this.docHeight = document.body.clientHeight;
this.timeout= 150;
this.speed = 30;
this.step = 3;
this.timer = 0;
this.pause = false;
this.close = false;
this.autoClose = true;
this.add(this);
}
MessageTip.prototype.tips = new Array();
MessageTip.prototype.add = function(mt)
{
this.tips.push(mt);
}
MessageTip.prototype.show = function()
{
if(this.onload()){
var me = this;
var mess = this.obj;
mess.onmouseover = function(){me.pause=true;};
mess.onmouseout = function(){me.pause=false;};
mess.style.top = $i(document.body.scrollTop) + this.docHeight + 10;
mess.style.left = $i(document.body.scrollLeft) + this.docWidth - this.divWidth;
mess.style.visibility = 'visible';
var moveUp = function()
{
var tHeight = me.divHeight;
var t = me.tips;
for(var i=0; i<t.length; i++){
var tt = t[i];
if(tt==me){
break;
}else{
tHeight += tt.divHeight + 3;
}
}
if($i(mess.style.top) <= (me.docHeight - tHeight + $i(document.body.scrollTop))){
me.timeout--;
if(me.timeout==0){
window.clearInterval(me.timer);
if(me.autoClose){
me.hide();
}
}
} else {
mess.style.top = $i(mess.style.top) - me.step;
}
}
this.timer = window.setInterval(moveUp,this.speed);
}
}
MessageTip.prototype.hide = function()
{
if(this.onunload()){
var me = this;
var mess = this.obj;
if(this.timer>0){
window.clearInterval(me.timer);
}
var moveDown = function()
{
if(me.pause==false || me.close){
if($i(mess.style.top) >= ($i(document.body.scrollTop) + me.docHeight + 10)){
window.clearInterval(me.timer);
mess.style.visibility='hidden';
} else {
mess.style.top = $i(mess.style.top) + me.step;
}
}
}
this.timer = window.setInterval(moveDown,this.speed);
}
}
MessageTip.prototype.resize = function()
{
this.divHeight = $(this.id).offsetHeight;
this.divWidth = $(this.id).offsetWidth;
this.docWidth = document.body.clientWidth;
this.docHeight = document.body.clientHeight;
$(this.id).style.top = this.docHeight - this.divHeight + document.body.scrollTop;
$(this.id).style.left = this.docWidth - this.divWidth + document.body.scrollLeft;
}
MessageTip.prototype.onload = function()
{
return true;
}
MessageTip.prototype.onunload = function()
{
return true;
}
分享到:
相关推荐
综上所述,实现"页面右下角弹出类似QQ或MSN的消息提示"这一功能,涉及到前端的JavaScript编程、CSS样式设计、动画效果实现,以及可能的后端实时通信。通过合理的技术选型和设计,可以创造出高效且用户友好的消息提示...
综上所述,创建一个类似QQ或MSN的页面右下角弹出消息提示框涉及到前端的CSS布局、JavaScript交互、ASP.NET后端数据传递以及用户体验设计等多个方面的知识。通过合理的代码组织和充分的测试,可以实现一个高效、易用...
标题中的“【精华】页面右下角弹出类似QQ或MSN的消息提示”指的是在网页设计中实现一种类似于即时通讯软件(如QQ、MSN)的消息提示功能。这种功能常见于许多网站,尤其是企业级应用,用于通知用户新消息、提醒或者...
通过以上步骤,你可以创建一个类似QQ、MSN或邮箱的新消息提示框,提供更加个性化的用户体验。这个提示框不仅可以在必要时显示信息,还可以通过关闭按钮让用户主动关闭,增强交互性。在实际项目中,还可以根据需求...
在网页设计中,为了增强用户体验和互动性,开发者经常会在页面右下角设计类似QQ或MSN的消息提示功能。这种功能可以模拟即时通讯软件中的消息通知,让用户在浏览网页时能够实时接收并查看重要信息。本教程将深入探讨...
本文将深入探讨如何实现类似MSN的消息提示效果,并提供相关技术细节。 首先,我们需要理解MSN消息提示的核心特点。这些特点包括: 1. **即时性**:当收到新消息时,系统会立即显示通知,让用户知道有新的交流内容...
综上所述,实现“页面右下角弹出类似QQ、MSN多条消息提示”的功能,需要结合JavaScript的动态操作DOM、事件处理和CSS的样式设计。这个过程既考验开发者的技术功底,也对用户体验有着直接影响。在实际开发中,应不断...
【网页右下角弹出类似QQ或...总之,`CLASS_MSN_MESSAGE`类提供了一种简单的方式来在网页的右下角创建具有类似QQ或MSN消息提示的动态效果。开发者可以通过调整参数和扩展方法来满足不同场景的需求,增强网页的用户体验。
在网页设计和用户体验优化中,实现“页面右下角弹出类似QQ、MSN多条消息提示(提示消息有URL链接)”的功能是一项常见的需求。这样的功能可以让用户在浏览网站时,实时接收并交互与网站内容相关的通知,提升用户的参与...
在ASP.NET开发中,有时我们需要实现一种类似MSN即时通讯软件中的消息提示功能,为用户提供直观、友好的交互体验。标题和描述中提到的"asp.net弹出消息框 类似msn的消息框"实际上是在指如何在网页上创建一个模仿MSN...
在本主题中,我们聚焦于如何使用JavaScript实现类似QQ或MSN的消息提醒功能,这涉及到实时通信、UI设计以及用户交互等多个方面的知识。 首先,实现这种消息提醒功能的核心技术是Websocket。Websocket是一种在客户端...
标题中的“类似QQ,MSN,邮箱右下角消息提示,定时访问数据库”指的是在软件开发中实现一种即时通讯功能,这种功能类似于我们熟知的QQ、MSN(现已被Skype取代)以及电子邮件系统中的消息通知机制。它涉及到客户端的...
在ASP.NET中实现类似QQ、MSN或邮箱右下角的消息提示功能,主要是通过实时更新用户界面来提供即时反馈,这通常涉及到AJAX技术、Web Socket、SignalR等实时通信技术。 首先,我们要理解这个功能的核心需求:当有新...
标题中的"Ajax弹出提示仿QQ,MSN"指的是使用Ajax技术来实现类似QQ和MSN的实时消息提示功能。Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。这种技术使得...
在IT领域,创建类似MSN和QQ的消息提示窗口是一项常见的任务,尤其在开发即时通讯软件时。这些提示窗口通常用于通知用户收到新消息或其他重要事件。本文将深入探讨如何实现这样的功能,以帮助开发者理解其背后的原理...
"qq提示"和"msn提示"代表了两种不同的风格,它们都是即时通讯软件常见的用户界面元素,而"js"则表明实现这些提示效果主要依赖JavaScript,这是一种广泛用于网页动态效果的脚本语言。JavaScript允许开发者在不刷新...
在本文中,我们将深入探讨如何在Visual Studio 2010环境下使用ASP.NET实现一个类似于QQ的消息提示功能,该功能采用AJAX技术实现无刷新效果。我们还将关注EeekSoft.Web.PopupWin.dll库在这一过程中的作用。 首先,...
这个压缩包"商业编程-源码-制作 MSN、QQ 的消息提示窗口.zip"显然包含了创建类似MSN和QQ的消息提示窗口的源代码。这类窗口通常用于应用程序中显示通知、警告或者对话,是用户交互的重要组成部分。以下是对这个主题的...
综上所述,"MSN,QQ气泡提示"是一个关于用户界面设计、通知机制实现和编程技术的综合主题,涵盖了多种IT技术和设计理念。通过提供的示例,开发者可以学习到如何在自己的项目中创建类似的高效通知功能。