100分求助如何实现打开网站自动弹出公告框

foxd 2009-10-26 10:07:50
请看这里提供的网址(http://www.chinautone.com/),进入该网站就会自动上移弹出一个公告框,显示公告信息,关闭该框后自动下移消失。
我想在我的网站中实现该技术,哪位高人能提供一下相关代码以供参考,最好能直接运行的,谢谢了!
...全文
471 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
书香淡墨痕 2011-08-06
  • 打赏
  • 举报
回复
学习了,顶一下
foxd 2009-10-26
  • 打赏
  • 举报
回复
to: zhouxin464585932
怎么回事,我把您的代码贴在 <Head>与 </Head>之间,运行后毫无反应?还请您看一看。谢谢!
z109214114 2009-10-26
  • 打赏
  • 举报
回复
帮顶!!!!!!!!
满衣兄 2009-10-26
  • 打赏
  • 举报
回复
你用的浏览器好像不兼容大部分的代码。我9楼给你的那个代码在IE和世界之窗测试都是正常的。
你可以根据别人给你的代码修改成你需要的,这种修改的工作量很小的,一般就是改改CSS。如果要求别人给你的就是跟你说的那个一摸一样,可能性很小的,你觉得呢?
foxd 2009-10-26
  • 打赏
  • 举报
回复
to: zhouxin464585932
怎么回事,我把您的代码贴在<Head>与</Head>之间,运行后毫无反应?还请您看一看。谢谢!
昕颖 2009-10-26
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
// var captchaImageSrc = null;
// function reloadCaptchaImage() {
// img = document.getElementsByName('captcha-img');
// if (captchaImageSrc == null) captchaImageSrc = img.src;
// img.src = captchaImageSrc + "&" + (new Date()).getTime();
// }
//ADD BY CGT 2009-08-10
var __Agt = navigator.userAgent.toLowerCase();
var __If = /(firefox|netscape|opera).?[\/| ](.)\.([^;\)]+|[^\)]+\))$/.exec(__Agt);
if (!__If) __If = /(msie) (.)\.[^;]+;/.exec(__Agt);
var _Br = __If[1], _Ver = __If[2];
var captchaImageSrc = null;
function reloadCaptchaImage() {
if (_Br + _Ver == "msie6") {
img = document.getElementById('captcha-img');
if (captchaImageSrc == null) captchaImageSrc = img.src;
img.src = captchaImageSrc + "&" + (new Date()).getTime();

}
else {
var img = document.getElementsByName('captcha-img');
if (captchaImageSrc == null) captchaImageSrc = img[0].src;
img[0].src = captchaImageSrc + "&" + (new Date()).getTime();
}
}
//ADD END
function toBreakWord(intLen) {

var strTemp = "";
if (_Br != "msie") {
var obj = document.getElementById("address");
var n = 0;
var str = obj.value;
if (str.length > intLen) {
for (var i = 0; i < str.length; i++) {
var c = str.charAt(i);
if (c == "\n") {
n++;
}
}
}
for (var i = 0; i < str.length; i++)
if ((obj.value.length - n) % intLen == 0 && obj.value.length > 0) {
obj.value += "\n";
}
strTemp += obj.value;
obj.value = strTemp;
}

}

var baseText = null;
function showPopup(w,h)
{
var popUp = document.getElementById("popupcontent");
// popUp.style.top = "200px";
popUp.style.top = document.body.clientHeight*0.38 + "px";
// popUp.style.left = "650px";
popUp.style.left = document.body.clientWidth*0.52 + "px";
popUp.style.width = w + "px";
popUp.style.height = h + "px";
if (baseText == null) baseText = popUp.innerHTML;
popUp.innerHTML = baseText + "<div id=\"statusbar\"><input type=\"button\" value=\"关闭\" onClick=\"hidePopup();\"></div>";
var sbar = document.getElementById("statusbar"); sbar.style.marginTop = (parseInt(h)-299) + "px"; popUp.style.visibility = "visible";
}
function hidePopup()
{ var popUp = document.getElementById("popupcontent");
popUp.style.visibility = "hidden";
}
</script>

希望对你有帮助
foxd 2009-10-26
  • 打赏
  • 举报
回复
试过yfqvip提供的代码,代码中写着:看到右下角的提示了吗?如果没有看到..... ,可是运行后发现信息框出现在屏幕的右上角,且只剩下信息框的一小部分了。不太合意。最好能与后台数据库结合并能人工关闭掉该信息框。
bj_kevin51 2009-10-26
  • 打赏
  • 举报
回复
支持LZ一下,这个东西网上应该很多的,找找!祝尽快解决这问题!
liujintaozyc 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ck11926375 的回复:]
有个例子:
<SCRIPT>
    var oPopup = window.createPopup();
    var popTop =50;
    function popmsg(msgstr) {
        var winstr = " <table style=\"background-image:  url('images/6.jpg')\"  width=\"110\" height=\"172\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"  >";
        winstr += " <tr> <td height=\"30\"> <a href=\"htp://www.baidu.com\"> <image src=\"images\\4.jpg\"/> <a> </td> </tr> <tr> <td align=\"center\"> <table width=\"92%\" height=\"110\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
        winstr += " <tr> <td valign=\"top\" style=\"font-size:16px; color: #836FFF; face: Tahoma\">" + msgstr + " </td> </tr> </table> </td> </tr> </table>";
        oPopup.document.body.innerHTML = winstr;
        popshow();
    }
    function popshow() {
        window.status = popTop;
        if (popTop > 1720) {
            clearTimeout(mytime);
            oPopup.hide();
            return;
        } else if (popTop > 1520 && popTop < 1720) {
            oPopup.show(screen.width - 130, screen.height, 110, 1720 - popTop);
        } else if (popTop > 1500 && popTop < 1520) {
            oPopup.show(screen.width - 130, screen.height + (popTop - 1720), 110, 172);
        } else if (popTop < 180) {
            oPopup.show(screen.width - 130, screen.height, 110, popTop);
        } else if (popTop < 220) {
            oPopup.show(screen.width - 130, screen.height - popTop, 110, 172);
        }
        popTop += 10;
        var mytime = setTimeout("popshow();",50);
    }
    popmsg("");
</SCRIPT>
[/Quote]
foxd 2009-10-26
  • 打赏
  • 举报
回复
试了一下ck11926375提供的方案,仅能在右角显示一个图片框,也无法人工关闭该框。要是能与数据库挂钩就好了,把数据库某个表中的某个字符字段的内容显示出来,并且能人为关闭该窗口而不是显示一段时间就自动关闭了。还是谢谢ck11926375。
xqy_2007 2009-10-26
  • 打赏
  • 举报
回复
顶一下!
wuyq11 2009-10-26
  • 打赏
  • 举报
回复
<body onload="Pop(10,200)">
var oPopup = window.createPopup();
function Pop(iwidth,iheight)
{
var lefter2 = event.offsetY+0;
var topper2 = event.offsetX+15;
var omenubody = document.getElementById("div1");
var oappend = document.getElementById("link"+rec_no);
oPopup.document.body.innerHTML = omenubody.innerHTML;
oPopup.show(topper2, lefter2, iwidth, iheight, oappend);
}
或window.open
满衣兄 2009-10-26
  • 打赏
  • 举报
回复
<!-- saved from url=file://C:/Documents and Settings/yfq/桌面/升起窗口提示.html -->
<script>
window.onerror = new Function("return(false);")
</script><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML><HEAD><TITLE>类似MSN提示的页面效果</TITLE></HEAD>

<BODY scroll=no><!--StartFragment-->看到右下角的提示了吗?如果没有看到,<BUTTON onclick=location.reload();>刷新</BUTTON>一下
<SCRIPT language=JavaScript>
window.onload = getMsg;
window.onresize = resizeDiv;
window.onerror = function(){}
//短信提示使用(asilas添加)
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;
function getMsg()
{
try{
divTop = parseInt(document.getElementById("eMeng").style.top,10)
divLeft = parseInt(document.getElementById("eMeng").style.left,10)
divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10)
divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10)
docWidth = document.body.clientWidth;
docHeight = document.body.clientHeight;
document.getElementById("eMeng").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;// divHeight
document.getElementById("eMeng").style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth
document.getElementById("eMeng").style.visibility="visible"
objTimer = window.setInterval("moveDiv()",10)
}
catch(e){}
}

function resizeDiv()
{
i+=1
if(i>500) closeDiv()
try{
divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10)
divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10)
docWidth = document.body.clientWidth;
docHeight = document.body.clientHeight;
document.getElementById("eMeng").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10)
document.getElementById("eMeng").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10)
}
catch(e){}
}

function moveDiv()
{
try
{
if(parseInt(document.getElementById("eMeng").style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
{
window.clearInterval(objTimer)
objTimer = window.setInterval("resizeDiv()",1)
}
divTop = parseInt(document.getElementById("eMeng").style.top,10)
document.getElementById("eMeng").style.top = divTop - 1
}
catch(e){}
}
function closeDiv()
{
document.getElementById('eMeng').style.visibility='hidden';
if(objTimer) window.clearInterval(objTimer)
}
</SCRIPT>

<DIV id=eMeng
style="BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 840px; VISIBILITY: hidden; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: 180px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 483px; HEIGHT: 116px; BACKGROUND-COLOR: #c9d3f3">
<TABLE style="BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid"
cellSpacing=0 cellPadding=0 width="100%" bgColor=#cfdef4 border=0>
<TBODY>
<TR>
<TD style="FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif); COLOR: #0f2c8c"
width=30 height=24></TD>
<TD
style="PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif); COLOR: #1f336b; PADDING-TOP: 4px"
vAlign=center width="100%">短消息提示: </TD>
<TD
style="PADDING-RIGHT: 2px; BACKGROUND-IMAGE: url(msgTopBg.gif); PADDING-TOP: 2px"
vAlign=center align=right width=19><SPAN title=关闭
style="FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px"
onclick=closeDiv()>× </SPAN><!-- <IMG title=关闭 style="CURSOR: hand" onclick=closeDiv() hspace=3 src="msgClose.jpg"> --></TD></TR>
<TR>
<TD
style="PADDING-RIGHT: 1px; BACKGROUND-IMAGE: url(1msgBottomBg.jpg); PADDING-BOTTOM: 1px"
colSpan=3 height=90>
<DIV
style="BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 13px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 13px; FONT-SIZE: 12px; PADDING-BOTTOM: 13px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 18px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%">您有
<FONT color=#ff0000>1 </FONT>封新短消息 <BR><BR>
<DIV style="WORD-BREAK: break-all" align=center><A
href="javascript:alert('你好')"><FONT color=#ff0000>点击查看短信
</FONT></A></DIV></DIV></TD></TR></TBODY></TABLE></DIV><!--EndFragment--></BODY>
</HTML>
bijiniye1988 2009-10-26
  • 打赏
  • 举报
回复
留意一个~!~!
yanglei6979431 2009-10-26
  • 打赏
  • 举报
回复
帮顶下 只是做过直接弹出来的 没做过这种样式的 呵呵

顶起来 哪位大侠来帮LZ解决一下啊 学习学习我也
ck11926375 2009-10-26
  • 打赏
  • 举报
回复
有个例子:
<SCRIPT>
var oPopup = window.createPopup();
var popTop =50;
function popmsg(msgstr) {
var winstr = "<table style=\"background-image: url('images/6.jpg')\" width=\"110\" height=\"172\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >";
winstr += " <tr> <td height=\"30\"> <a href=\"htp://www.baidu.com\"> <image src=\"images\\4.jpg\"/><a> </td> </tr> <tr> <td align=\"center\"> <table width=\"92%\" height=\"110\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
winstr += " <tr> <td valign=\"top\" style=\"font-size:16px; color: #836FFF; face: Tahoma\">" + msgstr + " </td> </tr> </table> </td> </tr> </table>";
oPopup.document.body.innerHTML = winstr;
popshow();
}
function popshow() {
window.status = popTop;
if (popTop > 1720) {
clearTimeout(mytime);
oPopup.hide();
return;
} else if (popTop > 1520 && popTop < 1720) {
oPopup.show(screen.width - 130, screen.height, 110, 1720 - popTop);
} else if (popTop > 1500 && popTop < 1520) {
oPopup.show(screen.width - 130, screen.height + (popTop - 1720), 110, 172);
} else if (popTop < 180) {
oPopup.show(screen.width - 130, screen.height, 110, popTop);
} else if (popTop < 220) {
oPopup.show(screen.width - 130, screen.height - popTop, 110, 172);
}
popTop += 10;
var mytime = setTimeout("popshow();",50);
}
popmsg("");
</SCRIPT>
lsgy2008 2009-10-26
  • 打赏
  • 举报
回复
收藏一下
saishangpeiqian 2009-10-26
  • 打赏
  • 举报
回复
这都是一些网上生成的代码
类似这样的
<SCRIPT id="js1" language=javascript src="http://emanage.koocall.com/thcl/gbutton.jsp?id=1552006&xingshi=4&s=5&fengge=2" Charset="GB2312"></SCRIPT>

<script type='text/javascript' language='JavaScript1.2' charset='GBK' src='http://emanage.koocall.com/thcl/gbutton.jsp?id=1552006&xingshi=2&weizhi=left&topmargin=130&fengge=1&lrmargin=0'></script>
fhjzgsy 2009-10-26
  • 打赏
  • 举报
回复

//同时两个有闪烁,只能用层代替了,不过层不跨框架
//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>
<SCRIPT LANGUAGE="JavaScript">
<!--
setInterval("popupHint()",2000);
// popupHint();
//-->
</SCRIPT>

</body>
</HTML> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="t.aspx.cs" Inherits="admin_VirtualHost_t" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML><HEAD>
<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= 150;
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() {
this.close=true; //加了这一句

return true;
}
/**//*
* 消息命令事件,要实现自己的连接,请重写它
*
*/
CLASS_MSN_MESSAGE.prototype.oncommand = function(){
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 = 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 MSG2 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有2封消息","好的啊");
// MSG2.rect(100,null,null,screen.height);
// MSG2.show();
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
var MSG1;
function popupHint(){
if(MSG1==undefined || MSG1.close){
MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天请我吃饭哈");
MSG1.rect(null,null,null,screen.height-20);
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>
<SCRIPT LANGUAGE="JavaScript">
<!--
setInterval("popupHint()",2000);
// popupHint();
//-->
</SCRIPT>

</body>
</HTML>

看看行不
fhjzgsy 2009-10-26
  • 打赏
  • 举报
回复

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="t.aspx.cs" Inherits="admin_VirtualHost_t" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML><HEAD>
<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= 150;
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() {
this.close=true; //加了这一句

return true;
}
/**//*
* 消息命令事件,要实现自己的连接,请重写它
*
*/
CLASS_MSN_MESSAGE.prototype.oncommand = function(){
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 = 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 MSG2 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有2封消息","好的啊");
// MSG2.rect(100,null,null,screen.height);
// MSG2.show();
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
var MSG1;
function popupHint(){
if(MSG1==undefined || MSG1.close){
MSG1 = new CLASS_MSN_MESSAGE("aa",200,120,"短消息提示:","您有1封消息","今天请我吃饭哈");
MSG1.rect(null,null,null,screen.height-20);
MSG1.speed = 10;
MSG1.step = 5;
//alert(MSG1.top);
MSG1.show();
}
加载更多回复(1)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧