0

我正在使用以下脚本来生成图像动画。

它适用于 Chrome,但不适用于 Firefox 或 Internet Explorer ...

Javascript

var lista = new Array('image1.gif','image1.gif','image1.gif','image1.gif'); 
var tiempo = 500; 
var tempor = null; 
var pos=0; 
var i = 0; 

function boucle_images(){ 
        var nombre_total_images = 6; 
        document.images.centro.src = lista[i] 
        pos=i; 
        i++; 
        i%=nombre_total_images; 
        tempor=setTimeout("boucle_images()",tiempo); 

} 

function avanza(){ 

  if (pos==(lista.length-1)) 
      pos=0; 
  else 
  pos++; 
  document.images.centro.src = lista[pos] 

} 

function retroceso(){ 

  if (pos==0) 
      pos=(lista.length-1); 
  else 
  pos--; 
  document.images.centro.src = lista[pos] 
} 

function automat(){ 
tempor = setTimeout("boucle_images()", tiempo) 
} 

function parar(){ 
clearTimeout(tempor); 
} 

HTML

<table width="52%" border="0" align="center"> 
                <tr> 
                    <td height="482" colspan="2" align="right">
                        <img id="centro" src="imagenes/cargando2.gif" alt="" width="640" height="480" /></td> 
                </tr>
                <tr> 
                    <td align="center"><div class="div_ani_sat">
                        <a href="javascript:retroceso()"><img src="imagenes/atras.png" width="48" height="48" alt="" /></a>
                        <a href="javascript:avanza()"><img src="imagenes/adelante.png" width="48" height="48" alt="" /></a>
                        <a href="javascript:boucle_images()"><img src="imagenes/play.png" width="48" height="48" alt="" /></a>
                        <a href="javascript:parar()"><img src="imagenes/pause.png" width="48" height="48" alt="" /></a></div>
                    </td> 
                </tr> 
            </table> 

并不是说我不能在其他浏览器中运行......你能帮忙吗?谢谢

4

1 回答 1

1

是您在 chrome + firefox 中测试的相同代码的工作版本

setTimeout接受第一个参数作为对函数的引用。所以,我刚刚替换了你的tempor=setTimeout("boucle_images()",tiempo)to tempor=setTimeout(boucle_images, tiempo)。始终遵循这个因为它保存了一个评估

document.images 返回一个HTML Collection您可以像数组一样访问的 [但它不是数组] 但不像document.image.centros[至少跨浏览器] 因此我将其修复为document.getElementById('centros')

于 2012-07-13T13:55:08.977 回答