javascript代码为什么在火狐下不能正常显示???

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>

<table width="100%" ><tr><td>
<div id=demo style="OVERFLOW: hidden; WIDTH:850px; text-align:center">
<table cellspacing="0" cellpadding="0" align="center" border="0">
<tbody>
<tr>
<td id="marquePic1" valign="top">

<table width="100%" height="210px" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img src="roomshow/broom1.gif" /></td>
<td> </td>
<td><img src="roomshow/broom2.gif" /></td>
<td> </td>
<td><img src="roomshow/broom3.gif"/></td>
<td> </td>
<td><img src="roomshow/homeroom1.gif" /></td>
<td> </td>
<td><img src="roomshow/homeroom1.gif" /></td>
<td> </td>
<td><img src="roomshow/homeroom1.gif" /></td>
<td> </td>
</tr>

</table>

</td>
<td id="marquePic2" valign="top"></td>
</tr>
</tbody>
</table>
</div>
<script type=text/javascript>
var speed=30
marquePic2.innerHTML=marquePic1.innerHTML
function Marquee(){
if(demo.scrollLeft>=marquePic1.scrollWidth){
demo.scrollLeft=0
}else{
demo.scrollLeft++
}}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
</td></tr></table>
</body>
</html>
以上代码为什么在IE、谷歌上都能实现图片从左到右滚动,为什么在火狐下不能正常显示??这几天见了好几个js特效在火狐下不能正常显示的 这是为什么呢??怎么解决这个问题???
火狐提示错误是 demo is not defined 不明白是什么意思
展开
 我来答
lvyingtang
推荐于2016-04-05 · TA获得超过645个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:708万
展开全部
火狐下需要……怎么说呢(我就暂且说成是显式获取对象吧):
marquePic2.innerHTML=marquePic1.innerHTML
改成:
document.getElementById("marquePic2").innerHTML=document.getElementById("marquePic1").innerHTML;

应该就可以了!

<script type=text/javascript>
var speed=30
document.getElementById("marquePic2").innerHTML=document.getElementById("marquePic1").innerHTML
function Marquee(){
if(document.getElementById("demo").scrollLeft>document.getElementById("marquePic1").scrollWidth){
document.getElementById("demo").scrollLeft=0
}else{
document.getElementById("demo").scrollLeft++
}}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>

出于兼容考虑,建议获取对象统统都用document.getElementById("")来获取。
这个代码没错的,我测试过了!
demo is not defined是获取节点的错误!应该是你没有统统都用document.getElementById("")来获取节点对象造成的。
这里有三个要获取的节点对象:
document.getElementById("demo")
document.getElementById("marquePic1")
document.getElementById("marquePic2")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣人降临
2010-10-28 · 超过33用户采纳过TA的回答
知道答主
回答量:229
采纳率:0%
帮助的人:105万
展开全部
demo 是IE中不规则的写法,在W3C中需要使用documen.getElementById('demo')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火狐
2014-10-04 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
  您好!很高兴为您答疑!

将marquePic2.innerHTML=marquePic1.innerHTML
改成:
document.getElementById("marquePic2").innerHTML=document.getElementById("marquePic1").innerHTML;
  您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式