我使用以下脚本生成图像动画。
适用于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>
不是说我无法在其他浏览器中运行...... 你能帮我吗? 感谢
答案 0 :(得分:1)
This是在chrome + firefox
中测试的相同代码的工作版本 setTimeout接受第一个参数作为函数的引用。所以,我刚刚将您的tempor=setTimeout("boucle_images()",tiempo)
替换为tempor=setTimeout(boucle_images, tiempo)
。总是按照这个因素保存一个评估
document.images
返回HTML Collection
,您可以像数组一样访问[但它不是数组]但不像document.image.centros
[至少跨浏览器]因此我将其修复为{{ 1}}