本人想通过设值marquee属性来实现图片从右往左循环滚动的效果,但是我编写的代码有问题。在IE中只能显示第一个图片,在firefox中,所有的图都能显示出来,但是显示的效果是4张图显示在一列中,我想让这4张图显示在一行中。请问下这是由于什么原因造成的,该如何解决?
代码如下;
<script type="text/javascript">
      var num=5;
      var sz=new Array(4);
      var img=new Array(4);
          sz[0]="#";
  sz[1]="#";
  sz[2]="#";
  sz[3]="#";
  sz[4]="#"; 
  img[0]="";
  img[1]='<img src="img/DSC00303.jpg";target:_blank;/>';
  img[2]='<img src="img/DSC00304.jpg";target:_blank;/>';
  img[3]='<img src="img/DSC00305.jpg";target:_blank;/>';
  img[4]='<img src="img/DSC00307.jpg";target:_blank;/>';
  img[5]='<img src="img/DSC003011.jpg";target:_blank;/>';
  document.write("<marquee scrollamount='5' scrolldelay='100' direction='left' onmouseover='this.stop()' onmouseout='this.start()' width='230px' height='167px'");
  for(var i=0;i<num;i++)
  {
    document.write("<a href="+sz[i]+" target='_blank'>");
document.write(img[i]+"</a>");
  }
  document.write("</marquee>");

解决方案 »

  1.   

    <marquee >这个没有结束标记
      

  2.   

    你输出的不对,照你这样输出在IE中只能显示最后输出的哪一张,前面的都被覆盖了。建议你输出一个层,在层中在输出个表格,把图片放在表格中的同一行中的不同单元格中,然后直接滚动整个层。
    document.write("<marquee scrollamount='5' scrolldelay='100' direction='left' onmouseover='this.stop()' onmouseout='this.start()' width='230px' height='167px'");
    document.write("<div id='div1'><table><tr><td><img src='img/DSC00303.jpg';target:_blank;/><td><td><img src='img/DSC00304.jpg';target:_blank;/></td><td><img src='img/DSC00305.jpg';target:_blank;/></td><td><img src='img/DSC00307.jpg';target:_blank;/></td><td><img src='img/DSC003011.jpg';target:_blank;/></td></tr></table><div>");
    doucment.write("<marquee>");