Javascript图像动画在Firefox或Internet Explorer中不起作用

Javascript Image Animation does not work in Firefox or Internet Explorer

本文关键字:Internet Explorer 不起作用 Firefox 图像 动画 Javascript      更新时间:2023-09-26

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

它适用于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> 

并不是说我不能在其他浏览器中工作。。。你能帮忙吗?感谢

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

setTimeout接受第一个参数作为对函数的引用。所以,我只是把你的tempor=setTimeout("boucle_images()",tiempo)换成了tempor=setTimeout(boucle_images, tiempo)。总是遵循这个,因为它节省了一个评估

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