<DIV id=demo style="OVERFLOW: hidden; WIDTH: 770px; HEIGHT: 110px">
<TABLE cellPadding=0 align=center border=0 cellspacing="0">
<TR>
<TD id=demo11 vAlign=top>
<TABLE cellSpacing=5 cellPadding=0 width="100%" align=center border=0>
<TR vAlign=top>
<TD><img width="108" height="83" src="/20100609/ETS(天津)生物科技.gif" border="0"/></TD>
<TD><img width="108" height="83" src="/20100609/北京奥宇.gif" border="0"/></TD>
<!--(还有多个同样的TD) -->
</TR>
</TABLE>
</TD>
<TD id=demo12 vAlign=top></TD>
</TR>
</TABLE>
</DIV>
<SCRIPT>
  var speed=30
  demo12.innerHTML=demo11.innerHTML
  function Marquee11(){
   if(demo12.offsetWidth-demo.scrollLeft<=0)
   demo.scrollLeft-=demo11.offsetWidth
   else{
   demo.scrollLeft++
   }
  }
  var MyMar1 = setInterval(Marquee11,speed)
  demo.onmouseover = function(){ clearInterval(MyMar1) }
  demo.onmouseout = function(){ MyMar1=setInterval(Marquee11,speed) }
</SCRIPT>
在IE8 谷歌浏览器下正常。但是在FF下id=demo12的TD中的图片无法显示,发现是路径中的中文为乱码,怎么办呢?

解决方案 »

  1.   

    试试
    <TD><img width="108" height="83" src="/20100609/%B1%B1%BE%A9%B0%C2%D3%EE.gif" border="0"/></TD>
      

  2.   

    id=demo12的TD中的内容是由JS函数根据id=demo11的TD的中内容生成的,不是手动写的......
      

  3.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
      <DIV id=demo style="OVERFLOW: hidden; WIDTH: 770px; HEIGHT: 110px">
    <TABLE cellPadding=0 align=center border=0 cellspacing="0">
        <TR>
            <TD id=demo11 vAlign=top>
            <TABLE cellSpacing=5 cellPadding=0 width="100%" align=center border=0>
                <TR vAlign=top>
                    <TD><img width="108" height="83" src="images/pic1.jpg" border="0"/></TD>
                    <TD><img width="108" height="83" src="images/pic2.jpg" border="0"/></TD>
                    <!--(还有多个同样的TD) -->
                </TR>
            </TABLE>
            </TD>
            <TD id=demo12 vAlign=top></TD>
        </TR>
    </TABLE>
    </DIV> </BODY>
    <SCRIPT>
      var speed=30
      demo12.innerHTML=demo11.innerHTML
      function Marquee11(){
          if(demo12.offsetWidth-demo.scrollLeft<=0)
              demo.scrollLeft-=demo11.offsetWidth
          else{
              demo.scrollLeft++
          }
      }
      var MyMar1 = setInterval(Marquee11,speed)
      demo.onmouseover = function(){ clearInterval(MyMar1) }
      demo.onmouseout = function(){ MyMar1=setInterval(Marquee11,speed) }
    </SCRIPT>
    </HTML>我把你的代码里图片路径给换成我电脑里的图片怎么可以啊!~
      

  4.   

    症结好像是在FF下使用innerHTML的时候中文路径乱码
      

  5.   

    因为ff是utf-8的编码,可能是编码不一致导入乱码招不到图片。如果一定要去中文名称图片
    如果是客户端的,建议用英文。至于服务端转码可以解决;
      

  6.   

    问题有2 
    1. 关于FIREFOX以ID获得页面元素的时候 不能单独使用 ID编号 来当做该ID的元素 必须使用完整的document.getElementById("...")来获得。在本地FIREFOX浏览器测试是如此。
    2. 关于图片名称的问题 尽量不使用中文名称的图片文件 如果非使用中文文件名(例如上传PDF文档)在调用的时候尽量使用 encodeURI 来转换 并且最好不使用特殊的字符或者中文字符。修改后能正常运行的代码如下(测试环境 IE7 FIREFOX 3.6.3)<DIV id=demo style="OVERFLOW: hidden; WIDTH: 770px; HEIGHT: 110px">
     <TABLE cellPadding=0 align=center border=0 cellspacing="0">
      <TR>
       <TD id=demo11 vAlign=top>
        <TABLE cellSpacing=5 cellPadding=0 width="100%" align=center border=0>
         <TR vAlign=top>
          <TD><img width="108" height="83" src="欧盟我那个(123).jpg" border="0"/></TD>
          <TD><img width="108" height="83" src="狼那里那个.jpg" border="0"/></TD>
          <!--(还有多个同样的TD) -->
         </TR>
        </TABLE>
       </TD>
       <TD id=demo12 vAlign=top></TD>
      </TR>
     </TABLE>
    </DIV>
    <SCRIPT language="javascript">
      var speed=30;
      var obj=document.getElementById("demo");
      var obj1=document.getElementById("demo11");
      var obj2=document.getElementById("demo12");
      obj2.innerHTML=obj1.innerHTML;
      function Marquee11(){
          if(obj2.offsetWidth-obj.scrollLeft<=0)
              obj.scrollLeft-=obj1.offsetWidth;
          else{
              obj.scrollLeft++;
          }
      }
      var MyMar1 = setInterval(Marquee11,speed);
      obj.onmouseover = function(){ clearInterval(MyMar1); }
      obj.onmouseout = function(){ MyMar1=setInterval(Marquee11,speed); }
    </SCRIPT>