浏览 5709 次
锁定老帖子 主题:JS实现类似qq的提示框
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-07
<head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>类MSN提示的页面效果</title> <script language="JavaScript"> window.onload = viewMsg; //加载页面时,即刻获取短消息 window.onresize = resizeDiv; //根据窗体高度和宽度,改变短消息提示框的高度和宽度 window.onerror = function(){} //出现错误时,不做任何处理 var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;//关于位置的相关变量 function viewMsg() { try { divTop = parseInt(document.getElementById("divMsg").style.top,10) //div的x坐标 divLeft = parseInt(document.getElementById("divMsg").style.left,10) //div的y坐标 divHeight = parseInt(document.getElementById("divMsg").offsetHeight,10)//div的高度 divWidth = parseInt(document.getElementById("divMsg").offsetWidth,10) //div的宽度 docWidth = document.body.clientWidth; //窗体宽度 docHeight = document.body.clientHeight; //窗体高度 document.getElementById("divMsg").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;//设置div的Y坐标 document.getElementById("divMsg").style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth//设置div的X坐标 document.getElementById("divMsg").style.visibility="visible" //设置div显示 objTimer = window.setInterval("moveDiv()",10) //设置定时器 } catch(e){} } function resizeDiv() { i+=1 if (i>500) closeDiv() try { divHeight = parseInt(document.getElementById("divMsg").offsetHeight,10) //设置div高度 divWidth = parseInt(document.getElementById("divMsg").offsetWidth,10) //设置div宽度 docWidth = document.body.clientWidth; //获取窗体宽度 docHeight = document.body.clientHeight; //设置窗体高度 document.getElementById("divMsg").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10)//设置div的y坐标 document.getElementById("divMsg").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10)//设置div的x坐标 } catch(e){} } function moveDiv() { try { if (parseInt(document.getElementById("divMsg").style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10))) { window.clearInterval(objTimer) objTimer = window.setInterval("resizeDiv()",1) //调整div的位置和大小 } divTop = parseInt(document.getElementById("divMsg").style.top,10)//获取y坐标 document.getElementById("divMsg").style.top = divTop - 1//调整div的Y坐标 } catch(e){} } function closeDiv() { document.getElementById('divMsg').style.visibility='hidden';//将短信息提示层隐藏 if(objTimer) window.clearInterval(objTimer); //清除定时器 } </script> </head> <body scroll="no"> 注意右下角的题时<br /> <DIV id=divMsg style="BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX:99999; LEFT: 0px; VISIBILITY: hidden; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: 180px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; 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;COLOR: #0f2c8c" width=30 height=24></TD> <TD style="FONT-WEIGHT: normal; FONT-SIZE: 12px;COLOR: #1f336b; PADDING-TOP: 4px;PADDING-left: 4px" vAlign=center width="100%"> 短消息提示:</TD> <TD style="PADDING-TOP: 2px;PADDING-right:2px" vAlign=center align=right width=19><span title=关闭 style="CURSOR: hand;color:red;font-size:12px;font-weight:bold;margin-right:4px;" onclick=closeDiv() >×</span></TD> </TR> <TR> <TD style="PADDING-RIGHT: 1px;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 align=center style="word-break:break-all"><a href="Javascript:alert('内容:好久不见,出来吃饭吧')"><font color=#FF0000>点击查看短信</font></a></DIV> </DIV> </TD> </TR> </TBODY> </TABLE> </DIV> </body> </html> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-01-08
不错,不过你贴的代码加个样式就更直观了,在提个要求,就是隐藏的时候,加个慢慢透明那样的隐藏,就更完美了,嘿嘿
|
|
返回顶楼 | |
发表时间:2010-01-08
代码太乱了 LZ
|
|
返回顶楼 | |
发表时间:2010-01-08
很乱!!!居然还用TAB布局,如果LZ是前端开发人员要好好鄙视一下,如果LZ不是的话,要好好的表扬LZ的开源精神。
|
|
返回顶楼 | |
发表时间:2010-01-08
这个好像很久之前就再别的地方看到过了,效果一模一样,楼主是自己写的吗?
|
|
返回顶楼 | |
发表时间:2010-01-08
不错,纯js的。。
不过在firefox下面貌似有些问题。 |
|
返回顶楼 | |
发表时间:2010-01-08
排版有些乱
|
|
返回顶楼 | |
发表时间:2010-01-08
在firefox和chrome里都有问题```不知楼主是否专前端`如果是``那真要好好检讨下了。
我是做后台的,平时也玩下CSS和javascript,最近刚开了博客``有空多交流 |
|
返回顶楼 | |