我从网上找了一个在屏幕右下角弹出消息提示的小例子
本来好好的,保存到本地也一切正常。
但是当我把它加到我的页面的时候出错了,
后来发现居然是DTD声明造成的,它原来没有DTD声明,而我的页面已经有了
xhtml1-transitional.dtd这个DTD声明,我把它去掉就正常。
但是去掉以后,我的页面原来的样式就变了。
所以我不想破坏我原来的页面。
下面的是源代码:<html>
<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>
一切运行正常,但是加上这句以后就不行了。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
麻烦大家帮忙分析一下啊!!!
是不是xhtml1-transitional.dtd对某些属性或者方法不支持啊?
本来好好的,保存到本地也一切正常。
但是当我把它加到我的页面的时候出错了,
后来发现居然是DTD声明造成的,它原来没有DTD声明,而我的页面已经有了
xhtml1-transitional.dtd这个DTD声明,我把它去掉就正常。
但是去掉以后,我的页面原来的样式就变了。
所以我不想破坏我原来的页面。
下面的是源代码:<html>
<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>
一切运行正常,但是加上这句以后就不行了。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
麻烦大家帮忙分析一下啊!!!
是不是xhtml1-transitional.dtd对某些属性或者方法不支持啊?
解决方案 »
- CJL.0.1.min.js 求助
- 有些网页在线聊天软件,当有新消息进来的时候,网页标题会变换颜色提示用户有消息?
- jqgrid 如何在初始化的时候隐藏查询栏
- 打开客户端C盘下的一个EXE文件,为什么总是提示JAVASCRIPT错误?在线等~~~
- 在jqgrid中grid作为子表格,能否实现点击+号后,只第一次提交服务器,以后不再提交到服务器端?
- 我有个window.close()代码,本来用IP访问可以执行,可是做了域名解析之后就不能执行了,听说是跨域就不能执行,有什么解决方法吗?
- 请问如何用JS取得文本框的值!
- 一个简单的javascript问题~~~~~~~急
- 如何获得HTML输入域中光标位置?
- 请教关于Java虚拟机漏洞的问题
- JavaScript写的HTML应用程序win7下运行显示“当前页面的脚本发生错误”
- 怎样快速找到当前网页中使用的js方法在导入的哪个外部js文件中????
docHeight = document.body.clientHeight; 换成 document.documentElement.clientWidth
or
document.documentElement.clientHeight < 600display:none