2012-07-13 94 views
0

我正在使用以下脚本来生成图像动画。Javascript图像动画无法在Firefox或Internet Explorer中工作

它可以在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> 

不,我不能在其他浏览器的功能... 你能帮我吗? 感谢

+1

为什么而不是'document.getElementById('centro')。src'而不是'document.images.centro' Coz'document.images'返回一个'HTML Collection'我真的不知道'document.images.id'是如何为你工作的。可能是一些铬优化。不要相信它跨浏览器 – Tamil 2012-07-13 13:02:00

+0

我做了开关,但仍然是相同的。 – Bcl00 2012-07-13 13:27:51

+0

其实发生了什么?你能看到控制台中的任何JavaScript错误?尝试在铬和F12 F12。如果没有错误,那么PLZ也会提及你能够看到btwn chrome和firefox的区别 – Tamil 2012-07-13 13:33:47

回答

1

This是你相同的代码工作版本的Chrome + Firefox的测试

setTimeout接受的第一个参数作为参考的功能。所以,我刚刚将tempor=setTimeout("boucle_images()",tiempo)更换为tempor=setTimeout(boucle_images, tiempo)。始终遵循这个怎么把它保存一个eval

document.images返回HTML Collection,您可以访问诸如数组[但它不是一个数组],但不喜欢document.image.centros [ATLEAST跨浏览器]因此我把它固定到document.getElementById('centros')

+0

@ Bcl00你还面临一些问题吗? – Tamil 2012-07-13 14:13:13

+0

当然,所有的解决方案都无法在所有浏览器中使用。否则Seeketh。感谢suguerencias。一声问候 – Bcl00 2012-07-13 15:17:46

相关问题