He adaptado el script, introduciendo las imágenes en un array y aplicando el script de tunait, pero debo estar haciendo algo mal, tunait si ves algo raro y no te hace mucha molestia ... :-|
Un saludo!
Código:
<!---*****************************************************************************
Carousel de imágenes (marquesina horizontal). Script creado por Tunait! (18/8/2003) modificado el 25/12/2003.
Si quieres usar este script en tu sitio eres libre de hacerlo con la condición de que permanezcan intactas estas líneas, osea, los créditos.
No autorizo a publicar y ofrecer el código en sitios de script sin previa autorización
Si quieres publicarlo, por favor, contacta conmigo.
http://javascript.tunait.com/
[email protected]
******************************************************************************--->
<script language="JavaScript" type="text/JavaScript">
var ancho = 700 // especifica la anchura a mostrar
var alto = 80 // especifica la altura a mostrar (alto de las imágenes)
var velo = 10 // velocidad
var dis = 2 //cantidad de pixels que desplaza por movimiento
var cont = 0
var imagenes = new Array()
<cfif isDefined("selgal")>
<cfoutput query="selgal">
<cfif selgal.foto neq "">
imagenes[cont] = new Image()
imagenes[cont].src = "colecciones/galeria/#selgal.foto#";
cont=cont+1;
<cfelse>
imagenes[cont] = new Image()
imagenes[cont].src = "img/blank1.gif"
cont=cont+1;
</cfif>
</td>
</cfoutput>
<cfif selgal.recordcount LT 7>
<cfoutput>
<cfloop index="indice" from="1" to="#7-selgal.recordcount#" step="1">
imagenes[cont] = new Image()
imagenes[cont].src = "img/blank1.gif"
cont=cont+1;
</cfloop>
</cfoutput>
</cfif>
</cfif>
var vel = velo
pasos = 4
var tot = 0
var tam =0;
var pos,pos2,tam2 =0;
function escribe(){
document.write ('<div id ="fuera" style="position:relative; width:' + ancho + 'px; height:' + alto + 'px;overflow:hidden">');
document.write ('<span id="imas" style="position:absolute; width:' + tam + 'px;height:' + alto + 'px; left = -' + tam + 'px;" onmouseover="if(detienee == 0){detienee = 1}" onmouseout="clearTimeout(tiempo);detienee=0;atras = false;vel=velo;mueve()">');
for (m=0;m<imagenes.length;m++){
if(imagenes[m].a != ""){
document.write('<a href="' + imagenes[m].a + '" target="' + imagenes[m].target + '">')
}
document.write ('<img border="0" src ="' + imagenes[m].src + '" id="ima' + m + '" name="ima' + m + '" onload="tot++;">');
if(imagenes[m].a != ""){document.write ('</a>')}
}
document.write ('</span>');
document.write ('<span id="imas2" style="position:absolute; width:' + tam + 'px;height:' + alto + ';left=0;" onmouseover="if(detienee == 0){detienee = 1}" onmouseout="clearTimeout(tiempo);detienee=0;atras = false;vel=velo;mueve()">');
for (m=0;m<imagenes.length;m++){
if(imagenes[m].a != ""){
document.write('<a href="' + imagenes[m].a + '" target="' + imagenes[m].target + '">')
}
document.write ('<img border="0" src ="' + imagenes[m].src + '" id="imaa' + m + '" name="imaa' + m + '" onload="tot++;">');
if(imagenes[m].a != ""){document.write ('</a>')}
}
document.write ('</span>');
document.write ('</div>');
}
var detienee = 0,posb,pos2b;
function mueve(){
pos = document.getElementById('imas').style.left;
pos2 = document.getElementById('imas2').style.left;
pos = pos.replace(/px/,"");
pos = pos.replace(/pt/,"");
pos = new Number(pos);
pos2 = pos2.replace(/px/,"");
pos2 = pos2.replace(/pt/,"");
pos2 = new Number(pos2);
if(detienee == 1){
posb = pos;
pos2b = pos2;
}
if(atras == true){
pos-=dis;
pos2 -=dis;
}
else{
pos += dis;
pos2 += dis;
}
if(pos2 > (ancho + dis)){
if(detienee == 0){
document.getElementById('imas2').style.left = pos - (tam + dis);
pos2 = document.getElementById('imas2').style.left;
}
else{
document.getElementById('imas').style.left = pos
}
}
else{
document.getElementById('imas').style.left = pos
}
if(pos > (ancho + dis)){
if(detienee == 0){
document.getElementById('imas').style.left = pos2 - (tam + dis);
pos = document.getElementById('imas').style.left;
}
else{
document.getElementById('imas2').style.left = pos2;
}
}
else{
document.getElementById('imas2').style.left = pos2
}
if(detienee > 0){
if(detienee == pasos){
vel = velo;
atras = true;
detienee--;
tiempo = setTimeout('mueve()',vel);
}
else{
if(atras == true){
if(detienee>(pasos/2))
{detienee--}
else{
vel = velo;
clearTimeout(tiempo)
}
}
else{
detienee++
}
if(detienee > (pasos/2) && atras == false){vel +=10}
if(detienee < (pasos/2)){vel +=10}
tiempo = setTimeout('mueve()',vel)
}
}
else{
tiempo = setTimeout('mueve()',vel)
}
if(atras == true){
if (pos == posb){
clearTimeout(tiempo);
atras = false;
}
}
}
var tiempo;
var atras = false, ini;
function inicio(){
if(tot == (imagenes.length * 2)){clearTimeout(ini);reDimCapas();mueve()}
else{ini=setTimeout('inicio()',500)}
}
function reDimCapas(){
for(m=0;m<imagenes.length;m++){
tam +=document.getElementById('ima'+m).width
document.getElementById('imas').style.left = (-tam +10);
document.getElementById('imas').style.width = tam ;
document.getElementById('imas2').style.width = tam;
}
}
</script>
<body onload="inicio();" >
<table width="51%" border="0" align="center">
<tr>
<td align="center">
<script>escribe();</script>
</td>
</tr>
</table>
</body>
Decir que este código está en un archivo llamado galeria.cfm, el cual está incluido en el principal (default.cfm) por si tuviera algo que ver ....
Un saludo.