ROTACIÓN PARA TUS IMÁGENES (PASO A PASO)

Bueno, he conseguido que funcione el script de la rotacion de imagenes, pero como habeis podido ver tenia tambiene este: http://lawebdedany.atwebpages.com/javascript/rotar-imagenes.html, y no hay manera de que funcionen los dos a la vez, o funciona uno o el otro, entonces queria saber si existe alguna incompatibilidad entres ambos y no es posible que funcionen a la vez o es que estoy haciendo algo mal, que será lo mas probable, GRACIAS.
Hola Arirodriguez,

disculpa la tardanza en la respuesta pero, no entro todos los días al foro como quisiera, aunque tampoco me desligo de cctw por completo.

Creo que no me he expresado bien en el post. En realidad, hay dos scripts: el primero es el que explico paso a paso aquí y que en ese entonces, estaba en la web. El segundo script es el que figura actualmente en la web y cuya explicación no la he hecho hasta ahora por falta de tiempo.

Sin embargo, prometo ordenarme un poco con el tiempo y hacerlo sin falta, a más tardar, en la primera quincena de mayo. ¿Qué día? No lo sé exactamente pero, A MÁS TARDAR, el 15 de mayo y, créeme, yo cumplo con mi palabra (I hope so, dijo el gringo :oops: ).

El segundo script es mucho mejor por el detalle del esfumado y, créeme, es muy sencillo de hacer. Además, se ve en todos los navegadores sin ningún problema. Solo te pido un poquito de paciencia.

Mil gracias, nos leemos!!!
ATRÉVETE A VIVIR SIN VIOLENCIA
Hola amigos,

Aquí, lo ofrecido: la explicación PASO A PASO del script de rotación de imágenes con el difuminado (o esfumado). Se ve indefectiblemente en todos los navegadores. Realmente, es muy sencillo y consta de solo 5 pasos. Supongamos que trabajamos con 4 imágenes con un alto de 250px y un ancho de 450 px tal como en la web que nos sirve de ejemplo.

1. Dentro del head en la hoja html (antes de la etiqueta de cierre) copian y pegan:

<script type="text/javascript" src="crossfader.js"></script>
<style type="text/css">
#wrapper {float:right ;width:450px; height:250px}
</style>


2. Ahora, en el body, creamos un div para las imágenes al que llamaremos WRAPPER y copian y pegan lo siguiente:


<div id="wrapper">
<div class="cf_wrapper">
<div class="cf_element" id="cf1">[contenido no disponible]</div>
<div class="cf_element" id="cf2">[contenido no disponible]</div>
<div class="cf_element" id="cf3">[contenido no disponible]</div>
<div class="cf_element" id="cf4">[contenido no disponible]</div>
</div>
</div>

Ojo donde dice “imagenes/1.jpg” porque imagenes es el nombre de MI carpeta. Aquí, ustedes le ponen el nombre de SU carpeta, ejemplo: “objetos/1.jpg”. Tampoco olviden modificar los px del widht y height según el tamaño de sus imágenes.
Este es un ejemplo solo para 4 imágenes. Por cada imagen adicional que quieran poner, añadirán una línea más de código <div class=… cf5”, cf6, etc.

3. En la hoja de estilo, le damos las propiedades al div; copien y peguen:

#wrapper {text-align:left; height:250px; width:450px;}

Por favor, no me pregunten por qué he puesto left si las imágenes están a la derecha.

4. Copien y peguen los siguientes códigos justo antes de la etiqueta de cierre del body:

<script type="text/javascript">
var cf = new Crossfader( new Array('cf1','cf2','cf3', 'cf4'), 2000, 2000 );
</script>

Si quieren poner más imágenes, añaden ‘cf5’, ‘cf6’ y así sucesivamente. La primera cifra 2000 corresponde exactamente al difuminado (más lento, 4000 o rápido, 500); y la segunda cifra 2000 corresponde al tiempo que permanecerá en exposición la imagen antes de pasar a la siguiente. Prueben cambiando las cantidades a su gusto.

5. Finalmente, no se asusten con el siguiente código que solo tienen que copiarlo y pegarlo en el bloc de notas y nombrar el archivo como:

crossfader.js

Luego, suben el archivo a la raiz de la carpeta local e internet y eso es todo. Hemos terminado. Aquí, lo que tienen que copiar y pegar:


/**
 *  author:		Timothy Groves - [url]http://www.brandspankingnew.net[/url]
 *	version:	1.0 - 2006-09-25
 *
 *	requires:	nothing
 *
 */

var useBSNns;

if (useBSNns)
{
	if (typeof(bsn) == "undefined")
		bsn = {}
	var _bsn = bsn;
}
else
{
	var _bsn = this;
}



_bsn.Crossfader = function (divs, fadetime, delay )
{	
	this.nAct = -1;
	this.aDivs = divs;
	
	for (var i=0;i<divs.length;i++)
	{
		document.getElementById(divs[i]).style.opacity = 0;
		document.getElementById(divs[i]).style.position = "absolute";
		document.getElementById(divs[i]).style.filter = "alpha(opacity=0)";
		document.getElementById(divs[i]).style.visibility = "hidden";
	}
	
	this.nDur = fadetime;
	this.nDelay = delay;
		
	this._newfade();
}


_bsn.Crossfader.prototype._newfade = function()
{
	if (this.nID1)
		clearInterval(this.nID1);
	
	this.nOldAct = this.nAct;
	this.nAct++;
	if (!this.aDivs[this.nAct])	this.nAct = 0;
	document.getElementById( this.aDivs[this.nAct] ).style.visibility = "visible";
	
	this.nInt = 50;
	this.nTime = 0;
	
	var p=this;
	this.nID2 = setInterval(function() { p._fade() }, this.nInt);
}


_bsn.Crossfader.prototype._fade = function()
{
	this.nTime += this.nInt;
	
	var op = this._easeInOut(this.nTime, 0, 1, this.nDur);
	var ieop = op*100;
	document.getElementById( this.aDivs[this.nAct] ).style.opacity = op;
	document.getElementById( this.aDivs[this.nAct] ).style.filter = "alpha(opacity="+ieop+")";
	
	if (this.nOldAct > -1)
	{
		document.getElementById( this.aDivs[this.nOldAct] ).style.opacity = 1 - op;
		document.getElementById( this.aDivs[this.nOldAct] ).style.filter = "alpha(opacity="+(100 - ieop)+")";
	}
	
	if (this.nTime == this.nDur)
	{
		clearInterval( this.nID2 );
		
		if (this.nOldAct > -1)
			document.getElementById( this.aDivs[this.nOldAct] ).style.visibility = "hidden";	
		
		var p=this;
		this.nID1 = setInterval(function() { p._newfade() }, this.nDelay);
	}
}



_bsn.Crossfader.prototype._easeInOut = function(t,b,c,d)
{
	return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;
}


De verdad, espero que les gusta, que les sirva y que les salga. Y posteen qué tal les parece. Cualquier inconveniente, trataremos de solucionarlo. Saludos a toda la gente de cctw.
ATRÉVETE A VIVIR SIN VIOLENCIA
Muy bueno, enhorabuena, es casi lo que llevo buscando... ni me acuerdo.
Aunque para decir verdad, no es exactamente esto.
Me explico, yo tengo en mi proyecto puesta una imagen de fondo que se ajusta a cuaquier resolucion de pantalla asi:
HTML
<div>
[img]img/fondo3.jpg[/img]
</div>
CSSS
html, body {
margin:0; 
padding:0; 
width:100%; 
height:100%; 
overflow:hidden;
}

#fondo {
position:absolute; 
z-index:1; 
width:100%; 
height:100%;
}
Y creí que con tu script podría hacer un pase de imagenes de fondo, pero no sé o no doy con la tecla. Lo he intentado y no hay manera. ¿podríais echarle un vistazo a ver si se puede adaptar tu script al <div>
[contenido no disponible]
</div>
?
Gracias
Lo mejor de caerse al tropezar, es volverse a levantar.
CONSEGUIDO
Tras muchos intentos lo he conseguio usando el script que dejaste y retocando un poco, he conseguido rotar la imagen de fondo y que se vea completa dicha imagen en cualquier resolucion independientemente del contenido.
HTML
<script type="text/javascript" src="crossfader.js"></script>
</head>
<body>

<div>
[img]img/3.png[/img]
[img]img/1.png[/img]
[img]img/3.png[/img]
[img]img/2.png[/img]
</div>
<div id="contenedor">
<div id="contenido">
bla,bla,bla
</div>
</div>
<script type="text/javascript">
var cf = new Crossfader( new Array('cf1','cf2','cf3','cf4'), 2000, 7000 );
</script>
</body>
</html>
CSS
*{text-indent:0px; margin:0px; padding:0px; border:0px;}

html, body {
margin:0; 
padding:0; 
width:100%; 
height:100%; 
overflow:hidden;
}

body {
background-color:#FFFF99 ;
font-family:Andalus, Arial, Helvetica, sans-serif; 
font-size:1.1em;
}

#cf1,#cf2,#cf3,#cf4 {
position:absolute; 
z-index:1; 
width:100%; 
height:100%;
}

#fondo{
position:absolute; 
z-index:1; 
width:100%; 
height:100%;
}

#contenedor {
position:absolute;
width:100%; 
height:100%; 
top:0; left:0; 
overflow:auto; 
z-index:2;
} 

#contenido {
padding:25px 300px 20px 14%;
}
Y como es de buen nacido ser agradecido expongo esto para aquel que le pueda servir como a mi.
Gracias
Lo mejor de caerse al tropezar, es volverse a levantar.
Ups. :wink: Un pequeño problema al enviar el mensaje. Vean el siguiente que si es el verdadero. Diculpa
VNDO UN TCLADO QU L FALTA UNA VOCAL
Hola amigos.
He querido hacer este Script también pero no me funciona. Aquí les dejo los diferentes códigos para que me ayuden a ver si tengo alguna falla.

HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="script.css" type="text/css" media="all">
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript" src="crossfader.js"></script> 
<style type="text/css"> 
#wrapper {float:right ;width:450px; height:250px} 
</style>
</head>

<body>
<div id="wrapper"> 
<div class="cf_wrapper"> 
<div class="cf_element" id="cf1">[img]Pirata/imagenuno.jpg[/img]</div> 
<div class="cf_element" id="cf2">[img]Pirata/imagendos.jpg[/img]</div> 
<div class="cf_element" id="cf3">[img]Pirata/imagentres.jpg[/img]</div> 
<div class="cf_element" id="cf4">[img]Pirata/imagencuatro.jpg[/img]</div> 
</div> 

<script type="text/javascript"> 
var cf = new Crossfader( new Array('cf1','cf2','cf3', 'cf4'), 2000, 2000 ); 
</script> 
</body>
</html>

CSS
#wrapper {text-align:left; height:250px; width:450px;} 

crossfader.js

/** 
 *  author:      Timothy Groves - [url]http://www.brandspankingnew.net[/url] 
 *   version:   1.0 - 2006-09-25 
 * 
 *   requires:   nothing 
 * 
 */ 

var useBSNns; 

if (useBSNns) 
{ 
   if (typeof(bsn) == "undefined") 
      bsn = {} 
   var _bsn = bsn; 
} 
else 
{ 
   var _bsn = this; 
} 



_bsn.Crossfader = function (divs, fadetime, delay ) 
{    
   this.nAct = -1; 
   this.aDivs = divs; 
    
   for (var i=0;i<divs.length;i++) 
   { 
      document.getElementById(divs[i]).style.opacity = 0; 
      document.getElementById(divs[i]).style.position = "absolute"; 
      document.getElementById(divs[i]).style.filter = "alpha(opacity=0)"; 
      document.getElementById(divs[i]).style.visibility = "hidden"; 
   } 
    
   this.nDur = fadetime; 
   this.nDelay = delay; 
       
   this._newfade(); 
} 


_bsn.Crossfader.prototype._newfade = function() 
{ 
   if (this.nID1) 
      clearInterval(this.nID1); 
    
   this.nOldAct = this.nAct; 
   this.nAct++; 
   if (!this.aDivs[this.nAct])   this.nAct = 0; 
   document.getElementById( this.aDivs[this.nAct] ).style.visibility = "visible"; 
    
   this.nInt = 50; 
   this.nTime = 0; 
    
   var p=this; 
   this.nID2 = setInterval(function() { p._fade() }, this.nInt); 
} 


_bsn.Crossfader.prototype._fade = function() 
{ 
   this.nTime += this.nInt; 
    
   var op = this._easeInOut(this.nTime, 0, 1, this.nDur); 
   var ieop = op*100; 
   document.getElementById( this.aDivs[this.nAct] ).style.opacity = op; 
   document.getElementById( this.aDivs[this.nAct] ).style.filter = "alpha(opacity="+ieop+")"; 
    
   if (this.nOldAct > -1) 
   { 
      document.getElementById( this.aDivs[this.nOldAct] ).style.opacity = 1 - op; 
      document.getElementById( this.aDivs[this.nOldAct] ).style.filter = "alpha(opacity="+(100 - ieop)+")"; 
   } 
    
   if (this.nTime == this.nDur) 
   { 
      clearInterval( this.nID2 ); 
       
      if (this.nOldAct > -1) 
         document.getElementById( this.aDivs[this.nOldAct] ).style.visibility = "hidden";    
       
      var p=this; 
      this.nID1 = setInterval(function() { p._newfade() }, this.nDelay); 
   } 
} 



_bsn.Crossfader.prototype._easeInOut = function(t,b,c,d) 
{ 
   return c/2 * (1 - Math.cos(Math.PI*t/d)) + b; 
} 

Espero que puedan ayudarme y disculpen mi ignorancia, soy novato.
VNDO UN TCLADO QU L FALTA UNA VOCAL
hola amigos,

gjulian, cuánto me alegro de que te haya salido, no te respondí porque recién entro al foro después de mucho tiempo.

waldragon, gracias por tu post, aunque no es para tanto.

david, en el punto 2, te falta una etiqueta de cierre de uno de los div:
</div>

ojalá eso sea todo, ya nos contarás.

saludos a todos.
ATRÉVETE A VIVIR SIN VIOLENCIA
peugeot, ya coloque lo que medijistes en donde va pero aun sigue sin correr el Script. ¿Habrá otro problema? :cry:
VNDO UN TCLADO QU L FALTA UNA VOCAL
david, por qué no nos das tu url para ver mejor? apaarentemente, todo está bien. ahora, cuando no aparecen las imágenes, por lo general, se trata de un problema de rutas. Verifica las rutas de tus imágenes, sobretodo si tu carpeta empieza con mayúscula, así también deberá estar en tu wordspace.

Otra cosa, subiste el archivo de texto a la carpeta local e internet?
ATRÉVETE A VIVIR SIN VIOLENCIA
Hola peugeot, no te doy la url de mi web porque no la tengo montada en internet. Estoy trabajando con ella desde el sitio local.
Si salen las imagenes pero una montadas arriba de la otra a la derecha del navegador sin ejecutarse la rotación.

Nose que pasará, pero dejame ver si te mando un pantallazo de como se ve la web desde un navehador normal.
VNDO UN TCLADO QU L FALTA UNA VOCAL
Es script me ha salido perfectamente, gracias. Querría saber si se puede poner dos veces para dos apartados de la página, porque no lo consigo. :?
www.toldoslaslagunas.es
muy bueno logre hacerlo con 7 imagenes, se ponemedia pesada pero me gusta como queda; muchas gracias.
hola mui bueno el post pero lo pongo i no me funciona aber si tu me puedes ajudar donde lo e echo mal gracias.

te pongo el codigo para que lo veas

<html>

<head>

<script language="javascript">
step=0;
function autoImgFlip() {
if (step < 3) {step++;}
else {step=0;}
if (step==0)
{a.src="imagenes/imagencero.jpg";}
if (step==1)
{a.src="imagenes/imagenuno.jpg";}
setTimeout("autoImgFlip()", 3000);
if (step==2)
{a.src="imagenes/imagendos.jpg";}
if (step==3)
{a.src="imagenes/imagentres.jpg";}

}
</script>

</head>

<body onLoad="autoImgFlip();">

<title>canaletas</title>



<body bgcolor="#4F4F4F">



<font size="100" face="algerian" color="#C0FF3E">
<center>galeria de fotos</center>
</font>






</p>



<table border="1" align="center" cellspacing="1" cellpadding="3" width="100%" height="90%">


<tr>

<td width=17% align="center" valign="center" body bgcolor="#C0FF3E"><font face="algerian" </font >
menu
</td>

<td colspan="2" rowspan="3" width="650" height="450" height=13% align="center" valign="center" body bgcolor="#C0FF3E">

[contenido no disponible]

</td>

<td body bgcolor="#C0FF3E" align="center" valign="center">

</td>

</tr>



<tr>
<td rowspan="2" align="center" valign="center" body bgcolor="#C0FF3E"><font face="algerian" </font>
inicio
historia del canaletas
nuestra carta
galeria de fotos
foro
contacto
</td>





<td rowspan="2" width=17% align="center" valign="center" body bgcolor="#C0FF3E"><font face="algerian" </font>

canaletas
bar cafeteria
pl.del angel nº 2
08140
caldes de montbui
(barcelona)
</td>

</tr>



<tr>





</tr>
</table>


</body>

</html>
buen post, me salio de lujo un buen escript... hay algo que quisiera tener y es que alado de esa imagenes grande que se pasan, tener las imagenes mas pequeñas una abajo de la otra, no c si me explico asi como esta en la pagina principal de latam.msn.com alguien me ayuda...
Me encantó el script y tu descripción fue excelente! Copié los códigos que indicaste y funcionó inmediatamente.

La pregunta que quiero hacerte es: ¿cómo lograr que la transición entre una imagen y otra sea lenta, como está en el sitio http://www.celuladeoracion.com/? Porque mis imágenes pasan como violentamente de una a otra.

Te agradezco desde ya por tu aporte!!!

Saludos, Vero Espindola
Vero Espindola
LQN ;)
Hola Vero,

no sé si ya solucionaste el problema pero, en el punto 4, explico el detalle del tiempo de exposición de las imágenes. De todos modos, aquí, lo cito:

peugeot escribió:y la segunda cifra 2000 corresponde al tiempo que permanecerá en exposición la imagen antes de pasar a la siguiente. Prueben cambiando las cantidades a su gusto.

Por si acaso, yo en mi web, tengo las 2 cantidades en 2000. Un saludo.
ATRÉVETE A VIVIR SIN VIOLENCIA
peugeot escribió:Hola a todos,

Ya que tanto he recibido de CCTW, hoy quiero aportar un granito de arena. Por eso, aquí, les enseño paso a paso a hacer este excelente script (hacer clic en www.celuladeoracion.com para ver el script).

Se llama rotación de imágenes y consta de 4 pasos:

1. En la web que nos sirve de ejemplo aparecen 7 imágenes pero, nosotros solo vamos a ponerle 4 para simplificar; después, ponemos el número de imágenes a nuestro gusto. Eso sí, las 4 imágenes deben tener el mismo tamaño y debemos guardarla en una misma carpeta; digamos, dentro de la carpeta “objetos” si hemos seguimos el curso de Jorgens y las llamaremos imagenuno.jpg, imagendos.jpg, imagentres.jpg e imagencuatro.jpg.

2. Ponemos el script justo arriba de la etiqueta de cierre del head de la siguiente forma:

<script language="javascript">
step=0;
function autoImgFlip() {
if (step < 3) {step++;}
else {step=0;}
if (step==0)
{a.src="objetos/imagenuno.jpg";}
if (step==1)
{a.src="objetos/imagendos.jpg";}
setTimeout("autoImgFlip()", 3000);
if (step==2)
{a.src="objetos/imagentres.jpg";}
if (step==3)
{a.src="objetos/imagencuatro.jpg";}

}
</script>
</head>

Aquí, ojo con lo siguiente:
-El cero, “0”, también cuenta, así que si tenemos 4 imágenes, las contaremos 0,1, 2, 3.
-Se debe poner la ruta completa de la imagen, por ejemplo, si están dentro de la carpeta “objetos” entonces pondremos:
{a.src=”objetos/imagenuno.jpg”;}
-El tiempo de rotación se define en la línea que dice setTimeout… Si queremos que las imágenes roten rápido le pondremos 1000 y durarán un segundo o 500 o 200. Si queremos que roten más lento ponemos 3000 y durarán 3 segundos como en la web que nos sirve de ejemplo (hasta puedes contar la exactitud!!!) Si se desea que la imagen se vea 4 segundos, se pondrá 4000 y así sucesivamente.

3. Ahora, ponemos esta línea de código justo en la etiqueta de apertura del body y quedaría así:
<body bgcolor="#ffffff" TEXT="#000000" link="#0000cd" vlink="#0000cd" alink="#ff0000" onLoad="autoImgFlip();">

4. Y por último, ponemos el nombre de nuestra primera imagen en la capa donde irán las imágenes así:

[contenido no disponible]

Es un excelente script que le da movimiento a nuestra web sin necesidad de saber o tener algún programa de animación. Si tienen algún problema para configurarlo, por favor, dejen un mensaje aquí mismo para solucinarlo o comenten qué tal les ha parecido. Saludos, :wink:

Hola a todos nuevamente,

estoy re-editando este post porque se pueden mejorar los códigos. En el punto 3 puse:

3. Ahora, ponemos esta línea de código justo en la etiqueta de apertura del body y quedaría así:
<body bgcolor="#ffffff" TEXT="#000000" link="#0000cd" vlink="#0000cd" alink="#ff0000" onLoad="autoImgFlip();">

Esta línea de código se puede simplificar de tal modo que quedaría así:

<body onLoad="autoImgFlip();">

Mucho mejor no??? Y bueno, comenten qué tal les parece el script, no cuesta nada. saludos, :wink:
Hola, oye, que he probado tu script pero no me funciona y quiero saber si funciona teniendo yo el script del menú desplegable
Hola por aquí.
estoy creando una web gracias a CCTw.
La idea fue poner imágenes rotativas para hacerla mas atractiva....no funcionó. Que pena
Donde pone:
"4. Y por último, ponemos el nombre de nuestra primera imagen en la capa donde irán las imágenes así:

[contenido no disponible]"
esa linea vá solita?...o tengo que insertar las imágenes una a una desde las opciones del Html-Kit?
Las inserté tal como indica el "curso completo paso a paso" de CCTw y se veían una debajo de otra. y cuando puse esa línea solita no mostraba nada.
Disculpas y muchas gracias.!!
Gracias, Gracias, Gracias......pero MUCHISISISIMAS GRACIAS !!!
fun-cio-no. (acá en mi sitio local)
Hola amigos. Hace tiempo que quiero instalar un rotador de imagenes como este y creo que está muy bueno. Pero estoy teniendo problemas para que me aparezcan las imagenes. Lo primero que no entiendo que al poner el primer codigo que tu dices en el head aparece el wrapper en los estilos css ya configurado con las medidas (las cambio de acuerdo a mis imagenes). Luego dices crear un div en el body (lo creo en una tabla donde quiero que aparezcan las imagenes) y aparece otro wrapper, quiero saber cual de los dos funciona. Luego en la tabla copio el siguiente codigo:
div class="cf_wrapper">
<div class="cf_element" id="cf1">[contenido no disponible]</div>
<div class="cf_element" id="cf2">[contenido no disponible]</div>
<div class="cf_element" id="cf3">[contenido no disponible]</div>
<div class="cf_element" id="cf4">[contenido no disponible]</div>
</div>
</div> </div></div>

Luego copio el codigo al final del body y tambien inserto en la raiz: crossfader.js
Lo que me sale es en vez de las imagenes en la tabla es la direccion de las imagenes en letras, rotando o sea [contenido no disponible]

[contenido no disponible]

[contenido no disponible]

[contenido no disponible]

APARECEN ESTAS ROTANDO, LA DIRECCION PERO NO LAS IMAGENES. ¿cual es el problema?
Cualquier cosa te mando el codigo completo de mi pagina
Gracias
pongo todo bien pero cuando pongo la ultima linea
[contenido no disponible]
no me sale la imagen si no ese texto
ademas no tengo mucha idea de donde ponerlo.echarme una manita porfa que estoy superatascada[:(]