为什么我的网页加了<!DOCTYPE html PUBLIC "-// 一些javascript就失效呢
我的网页第一句为<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR...
我的网页第一句为
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
加的JS程序为:(是浮动窗口,但加了上面一句,就在那动不了了,不会随滚动条滚动)
<script language=javascript>var specialcode="<DIV id=searchspe style='Z-INDEX: 100; right: 1px; POSITION: absolute; TOP: 50px; width:145px; height:178px'>abc</DIV>";document.write(specialcode);lastScrollY=0;function heartBeat0(){diffY=document.body.scrollTop;percent=.1*(diffY-lastScrollY);if(percent>0)percent=Math.ceil(percent);else percent=Math.floor(percent);document.all.searchspe.style.pixelTop+=percent;lastScrollY=lastScrollY+percent;}window.setInterval("heartBeat0()",1);</script> 展开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
加的JS程序为:(是浮动窗口,但加了上面一句,就在那动不了了,不会随滚动条滚动)
<script language=javascript>var specialcode="<DIV id=searchspe style='Z-INDEX: 100; right: 1px; POSITION: absolute; TOP: 50px; width:145px; height:178px'>abc</DIV>";document.write(specialcode);lastScrollY=0;function heartBeat0(){diffY=document.body.scrollTop;percent=.1*(diffY-lastScrollY);if(percent>0)percent=Math.ceil(percent);else percent=Math.floor(percent);document.all.searchspe.style.pixelTop+=percent;lastScrollY=lastScrollY+percent;}window.setInterval("heartBeat0()",1);</script> 展开
2个回答
展开全部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
这一代码是指网页符合W3C标准,加了这句,你的代码就要按标准来,而你有浮动JS又不是W3C标准,所以加了之后就不能显示出来,你可以删掉的
不同的浏览器内核采用的标准也不一样
W3C标准就是一个通用标准,这个标准在多个浏览器平台都是正常的,也就是说你的代码符合这个标准,有就可以实现多平台兼容。如IE内核、FF内核、Safari的、chrome内核的,这些内核浏览器都可以正常打开你的网页,并显示正常。
而你这个JS在IE里正常,但在FF以及Safari及其它浏览器中就不能显示正常了。
这一代码是指网页符合W3C标准,加了这句,你的代码就要按标准来,而你有浮动JS又不是W3C标准,所以加了之后就不能显示出来,你可以删掉的
不同的浏览器内核采用的标准也不一样
W3C标准就是一个通用标准,这个标准在多个浏览器平台都是正常的,也就是说你的代码符合这个标准,有就可以实现多平台兼容。如IE内核、FF内核、Safari的、chrome内核的,这些内核浏览器都可以正常打开你的网页,并显示正常。
而你这个JS在IE里正常,但在FF以及Safari及其它浏览器中就不能显示正常了。
追问
那应该怎么修改啊?(不删除这句代码的情况下。)
追答
不会JS哦,你可以去找一下能符合W3C标准的浮动窗代码。
展开全部
OH NO。
好吧 如果你研究过时间句柄,并且要用它做表单验证的话
那么试试 onsubmit,他只能用在form节点中。
<form name="myform" action="verify.php" method="post" onsubmit="return check();">
return代表这个表单提交的话需要check方法的布尔返回值
true就提交, false的话忽略。
我看到你在check方法里返回一个布尔值,似乎是想这么做的,我猜测也许你学艺不精。
呵呵,别生气。
那么除了上面说的分号问题
不同浏览器认为文本域的空值是不一样的
比如有的认为 文本域中不写 是一个 null
而有的则认为是一个空串 ""
所以你要做两种判断
if( ! myform.pwd.value && myform.pws.value == "" )
要注意,这个办法一定要写返回值哦,也就是说如果正确,你要保证你的函数返回一个true。
PS: <script language="javascript">
这样的写法是老的了,一些浏览器并不兼容
<script type="text/javascript"> 好一些
那么祝你好运。
好吧 如果你研究过时间句柄,并且要用它做表单验证的话
那么试试 onsubmit,他只能用在form节点中。
<form name="myform" action="verify.php" method="post" onsubmit="return check();">
return代表这个表单提交的话需要check方法的布尔返回值
true就提交, false的话忽略。
我看到你在check方法里返回一个布尔值,似乎是想这么做的,我猜测也许你学艺不精。
呵呵,别生气。
那么除了上面说的分号问题
不同浏览器认为文本域的空值是不一样的
比如有的认为 文本域中不写 是一个 null
而有的则认为是一个空串 ""
所以你要做两种判断
if( ! myform.pwd.value && myform.pws.value == "" )
要注意,这个办法一定要写返回值哦,也就是说如果正确,你要保证你的函数返回一个true。
PS: <script language="javascript">
这样的写法是老的了,一些浏览器并不兼容
<script type="text/javascript"> 好一些
那么祝你好运。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询