引用
该弹出消息框主要用于消息提示功能,且是基于电脑右下角显示的,类似于MSN消息显示,不会跟随页面跑动,但跟页面的调用有关,自己测试下吧。
注:本文代码只限制于IE5.5以上IE浏览器。其他没测试过。
提示:可与调用声音结合使用,就起到了声音弹出框双重提示。声音提示本人其他文章中有介绍。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>消息弹出框</title>
</head>
<SCRIPT language=JavaScript>
<!--
/**//*
** ==================================================================================================
** 类名:CLASS_MSN_MESSAGE
** 功能:提供类似MSN消息框
** 示例:
---------------------------------------------------------------------------------------------------
var MSG = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天请我吃饭哈");
MSG.show();
* 消息构造
*/
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= 3000;
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.location = 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 objs = "";
function AreltBox(){
//构建弹出框对象
var MSG1 = new CLASS_MSN_MESSAGE("aa",250,150,"新订单提示:","您有新的订单消息","今天请我吃饭哈");
MSG1.rect(null,null,null,screen.height-50);
MSG1.speed = 20; //弹出框的弹出速度(越大速度越慢)
MSG1.step = 5; //歩长,即 弹出框距离电脑右下角下方的高度
//当同时有两个层弹出时层叠加会有闪烁,下面这个if就是把每次生成的弹出框对象在下个弹出框弹出之前给隐藏(删除)掉,确保始终只有一个框在显示。(可根据自己的应用略作修改)
if(objs != ""){
objs.speed = 1;
objs.hide();
}
MSG1.show(); //调用弹出框显示
objs = MSG1;//把弹出框对象赋给中间变量
}
</SCRIPT>
<body>
//调用弹出框入口方法
<input type="button" value="弹消息" onclick="AreltBox();"/>
</body>
</html>
分享到:
相关推荐
利用javascript实现右下角弹出提示框。仿QQ
网页右下角弹出提示框是一种常见的用户交互设计,它能够有效地吸引用户的注意力,传递重要信息或引导用户进行特定操作。这种设计在许多网站和应用中都有应用,尤其是在电子商务、新闻资讯以及社交媒体平台中尤为常见...
在JavaScript编程中,实现点击按钮后在屏幕右下角弹出消息通知提示框是一项常见的功能,主要用于向用户显示系统状态或操作反馈。本教程将详细讲解如何创建这种通知提示框,包括默认、成功、警告和危险四种不同类型的...
标题“jquery做的 右下角弹出信息框”提到的功能,是网页交互中常见的一种设计,用于向用户展示提示信息、通知或者广告。这种弹出信息框通常位于页面的右下角,因为这个位置不会遮挡主要内容,同时又容易引起用户的...
对于“Jquery右下角弹出框提示,多个提示向上叠加”这一主题,我们可以深入探讨如何利用 jQuery 创建位于页面右下角的弹出提示框,并实现当有多个提示时,它们会向上叠加显示。 首先,我们需要创建一个基本的 HTML ...
本资源"jQuery右下角弹出提示框代码.zip"提供了一个实现点击关闭后显示下一条消息提示框的功能,这对于用户交互和信息提示非常有用。 首先,我们来详细了解一下jQuery中的弹出提示框。在传统的JavaScript中,我们...
根据给定的信息,本文将详细解释一个通过纯JavaScript技术实现在网页右下角显示提示框的方法。该技术可用于实现类似于CSDN网站右下角的消息提示功能。 ### 知识点解析 #### 1. 理解 `CLASS_MSN_MESSAGE` 类 `...
在网页设计中,创建一个类似QQ或CSDN右下角的提示框是常见的功能,主要用于显示消息通知、广告信息或是交互反馈。这种提示框通常称为"气泡通知"或"浮层提示",它不干扰用户的主要操作,又能有效地传递信息。下面将...
"jquery右下角弹出框"是利用jQuery实现的一种常见的用户体验设计元素,通常用于显示通知、消息或者提示信息,不打断用户对页面主要内容的浏览。这种弹出框位于网页的右下角,既不会完全遮挡视线,又能引起用户的注意...
标题“Jquery 右下角弹出信息框”指的是利用jQuery来实现一种常见且实用的用户界面功能:在网页的右下角动态显示信息提示框。这种功能广泛应用于通知用户、展示消息或提供交互反馈。 首先,要实现这个功能,我们...
在实现右下角弹出框时,开发者可能会使用到以下JavaScript技术: 1. **事件监听**:监听用户的特定行为,如页面加载、按钮点击等,以便在合适的时间触发弹出框。 2. **CSS动画**:为了使提示框的出现更加吸引用户...
在JavaScript编程中,"右下角渐渐弹出框"是一种常见的用户交互设计,常用于显示通知、消息或者警告。这种效果通常通过CSS实现动画,配合JavaScript控制弹出框的显示和隐藏来完成。下面我们将详细探讨如何实现这样一...
在网页设计中,右下角弹出窗口是一种常见的交互方式,用于展示通知、广告或重要提示等信息。这种弹窗不仅能够吸引用户的注意力,还能够提升用户体验。通过使用JavaScript,开发者可以轻松地实现自定义的弹出效果。 ...
网页右下角自动弹出提示框,js实现,简单易懂,非常实用;此为转发他人
在ASP.NET开发中,创建一个类似QQ或MSN的页面右下角弹出消息提示框功能是一项常见的需求。这种提示框可以用于通知用户、显示警告信息或者进行交互式操作反馈。以下是一个详细的实现步骤和相关知识点: 1. **CSS布局...
"C#右下角信息弹出框JS代码"就是针对这一需求的解决方案,它将JavaScript代码与C#应用程序相结合,以实现一个在屏幕右下角弹出的提示框。 JavaScript,作为一种广泛使用的客户端脚本语言,常用于网页和浏览器扩展的...
jquery右下角提示框插件,很好用,有类似需求的同志可以下载下来看一下
"jQuery右下角弹出框"是指利用jQuery技术实现的一种在网页右下角显示提示信息或对话框的功能。这种功能在网站上常用于通知、广告、消息提示等场景,为用户提供非侵入性的信息展示方式。 一、jQuery弹出框基本原理 ...