Foros del Web » Programando para Internet » Javascript »

Rotacion de thumbs usando onmouseover

Estas en el tema de Rotacion de thumbs usando onmouseover en el foro de Javascript en Foros del Web. Hola que tal, pues queria saber si alguin por aqui sabe de la existencia de algun script que rote los thumbs al pasar el mouse ...
  #1 (permalink)  
Antiguo 21/02/2008, 13:44
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Rotacion de thumbs usando onmouseover

Hola que tal, pues queria saber si alguin por aqui sabe de la existencia de algun script que rote los thumbs al pasar el mouse sobre una imagen, tal como se funciona youporn
  #2 (permalink)  
Antiguo 21/02/2008, 14:59
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Rotacion de thumbs usando onmouseover

Hola xcorpion

A ver si te sirve este código:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
imagenes = ['imagen1.jpg','imagen2.jpg','imagen3.jpg'];
num 0;
function 
rotar(obj) {
  
num++;
  if (
num == imagenes.lengthnum 0
  obj
.src imagenes[num];
}
</script>
</head>
<body>
<img src="imagen1.jpg" onmouseover = "rotar(this)" />
</body>

</html> 
Saludos,
  #3 (permalink)  
Antiguo 21/02/2008, 16:31
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Re: Rotacion de thumbs usando onmouseover

Gracias por el codigo JavierB, solo que yo creia que alomejor ya existia algun script para hacer esto, lo unico que faltaria es hacer un time out para que siga rotando los thumbs mientras onmouseover este activo
  #4 (permalink)  
Antiguo 22/02/2008, 13:48
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Re: Rotacion de thumbs usando onmouseover

Me he quedado trabado, intente hacer el timeout pero no me funciona, este es el codigo:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
imagenes = ['1.2001.jpg','2.2001.jpg','3.2001.jpg','4.2001.jpg','5.2001.jpg','6.2001.jpg','7.2001.jpg','8.2001.jpg'];
num 0;
function 
rotar(elemid) {
  
num++;
  if (
num == imagenes.lengthnum 0
  document
.getElementById(elemid).src imagenes[num];
  
ID=window.setTimeout("rotar('" elemid"');",1000);
}
function 
detener(){
window.clearTimeout(ID)
}
</script>
</head>
<body>
<img src="1.2001.jpg" id="imagen1" onmouseover = "rotar('imagen1')" onmouseout="detener()"/>
</body>

</html> 
//actualizacion: ya me funciono, me faltaba los apostrofres al enviar el parametro de la funcion rotar(), actualizo el codigo

Última edición por xcorpion; 22/02/2008 a las 13:59
  #5 (permalink)  
Antiguo 22/02/2008, 14:01
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Rotacion de thumbs usando onmouseover

Hola de nuevo.

Prueba este código:

Código PHP:
<html>
<
head>
<
script type="text/javascript">
imagenes = ['imagen1.jpg','imagen2.jpg','imagen3.jpg'];
num 0;
var 
pepe;
function 
rotar(id) {
  
obj document.getElementById(id);
  
num++;
  if (
num == imagenes.lengthnum 0
  obj
.src imagenes[num];
}
</script>
</head>
<body>
<img id="im" src="imagen1.jpg" onmouseover = 'pepe=setInterval("rotar(\"im\")",1000)' onmouseout="clearInterval(pepe)" />
</body>

</html> 
Saludos,
  #6 (permalink)  
Antiguo 22/02/2008, 14:06
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Re: Rotacion de thumbs usando onmouseover

Gracias, no conocia setInterval
  #7 (permalink)  
Antiguo 23/02/2008, 18:11
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Re: Rotacion de thumbs usando onmouseover

Ya esta, ahora solo me gustaria precargar las imágenes para que no este relampagueando la barra de estado y el mouse, supongo que la mejor forma es utilizando
Código PHP:
x=new Image(); 
x.src="archivo.jpg"
Pero precargar todas las imagenes tal vez es mala idea, tengo unos 10 thumbs por video y de 6 a 15 videos por pagina en promedio(10x6x5Kb=300Kb), ademas de hacer pesada la pagina para el usuario resultaria en la mayoria de los casos inusable, ¿alguna sugerencia?

Estaba pensando que tal vez precargar los primeros 3 thumbs de cada video e ir cargando los restantes de cada vide que sea señalado(activado por el onmouseover)
  #8 (permalink)  
Antiguo 26/09/2013, 07:47
 
Fecha de Ingreso: febrero-2011
Ubicación: Vigo
Mensajes: 32
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Rotacion de thumbs usando onmouseover

Hola, he probado el código que habeis posteado y me funciona a la perfección.

Solo tengo un problema, si intento usar ese mismo código para otra thumbnail, al pasar el mouse por encima del última rota las mismas imágenes en las dos thumbnails.

Probe a renombrar esto para cada thumbnail y no funciona:
Diferentes ID
Diferentes rotate
Diferentes imagenes

Y porsupuesto estoy usando un array con diferentes imágenes para cada una.

Mi intención es usar ese efecto en todas las thumbnails de la página, alrrededor de unas 110

Por cierto, no tengo apenas idea de ningún lenguaje de programación, gracias de antemano.

Un saludo
  #9 (permalink)  
Antiguo 26/09/2013, 09:03
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Rotacion de thumbs usando onmouseover

Hola Oscareverb.
¿Puedes mostrarnos el código Javascript que estas usando?
  #10 (permalink)  
Antiguo 26/09/2013, 10:17
 
Fecha de Ingreso: febrero-2011
Ubicación: Vigo
Mensajes: 32
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Rotacion de thumbs usando onmouseover

Porsupuesto.

El código lleva embebido algunos fragmentos de PHP, pero creo que no afectan al funcionamiento.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         imagenes = ['<?php echo $raiz; ?>img/carpeta/carpeta/imagen1.jpg','<?php echo $raiz; ?>img/carpeta/carpeta/imagen2.jpg','<?php echo $raiz; ?>img/carpeta/carpeta/imagen3.jpg'];
  3.         num = 0;
  4.         function rotarImagen1(elemid) {
  5.             num++;
  6.             if (num == imagenes.length) num = 0
  7.             document.getElementById(elemid).src = imagenes[num];
  8.             ID=window.setTimeout("rotarImagen1('" + elemid+ "');",500);
  9.         }
  10.         function detenerImagen1(){
  11.             window.clearTimeout(ID);
  12.             document.getElementById('imagen1').src = "<?php echo $raiz; ?>img/carpeta/carpeta/imagen1.jpg";
  13.         }
  14. </script>
Código HTML:
Ver original
  1. <img src="<?php echo $raiz; ?>img/carpeta/carpeta/imagen1.jpg" id="imagen1" onmouseover = "rotarImagen1('imagen1')" onmouseout="detenerImagen1()" alt=""/>
  #11 (permalink)  
Antiguo 26/09/2013, 10:49
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: Rotacion de thumbs usando onmouseover

Ok, podrías ponerlo así:
Código:
<script type="text/javascript">
        imagenes1 = ['<?php echo $raiz; ?>img/carpeta/carpeta1/imagen1.jpg','<?php echo $raiz; ?>img/carpeta/carpeta1/imagen2.jpg','<?php echo $raiz; ?>img/carpeta/carpeta1/imagen3.jpg'];
        imagenes2 = ['<?php echo $raiz; ?>img/carpeta/carpeta2/imagen1.jpg','<?php echo $raiz; ?>img/carpeta/carpeta2/imagen2.jpg','<?php echo $raiz; ?>img/carpeta/carpeta2/imagen3.jpg'];
        imagenes3 = ['<?php echo $raiz; ?>img/carpeta/carpeta3/imagen1.jpg','<?php echo $raiz; ?>img/carpeta/carpeta3/imagen2.jpg','<?php echo $raiz; ?>img/carpeta/carpeta3/imagen3.jpg'];
        num = 0;

        function rotarImagen(id) {
	eval("imagenes = imagenes"+id+";");
	obj = document.getElementById("imgobj"+id);
	num++;
	if (num == imagenes.length) num = 0
	obj.src = imagenes[num];

        }
        function detenerImagen(id){
            document.getElementById('imgobj'+id).src = "<?php echo $raiz; ?>img/carpeta/carpeta"+id+"/imagen1.jpg";
        } 
</script>
Código HTML:
<img src="<?php echo $raiz; ?>img/carpeta/carpeta1/imagen1.jpg" id="imgobj1" onmouseover = "interx=setInterval("rotarImagen(1)",500);" onmouseout="clearInterval(interx);detenerImagen(1)" alt=""/>
<img src="<?php echo $raiz; ?>img/carpeta/carpeta2/imagen1.jpg" id="imgobj2" onmouseover = "interx=setInterval("rotarImagen(2)",500);" onmouseout="clearInterval(interx);detenerImagen(2)" alt=""/>
<img src="<?php echo $raiz; ?>img/carpeta/carpeta3/imagen1.jpg" id="imgobj3" onmouseover = "interx=setInterval("rotarImagen(3)",500);" onmouseout="clearInterval(interx);detenerImagen(3)" alt=""/> 
  #12 (permalink)  
Antiguo 27/09/2013, 03:55
 
Fecha de Ingreso: febrero-2011
Ubicación: Vigo
Mensajes: 32
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Rotacion de thumbs usando onmouseover

Muchas gracias por tu ayuda Xcorpion, lo probaré.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:07.