Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   HTML (http://www.forosdelweb.com/f4/)
-   -   Rollover y sonidos (http://www.forosdelweb.com/f4/rollover-sonidos-116709/)

Fero2003 14/02/2003 11:53

Rollover y sonidos
 
Hola tod@s.

Hace unos días pregunté cómo podía crear sonidos en los links.
Ahora es más complicado:

Quiero que reproduzca sonido distintos al pasar el ratón (onmouseover) y al hacer clic (onclick) pero esto quiero aplicárselo al rollover. Supongo que entra en conflicto en algún momento por lo que no sé que orden ni que nomenclatura debo de seguir. La orden sobre una imagen sería algo así como:

OnMouseOver=muestra la imagen de sustitución (img2) y reproduce un sonido (sonid.1)

OnMouseOver=muestra la imagen original (img1)

OnClick=reproduce otro sonido (sonid.2)

Sé hacer ambas cosas por separado, pero no a la vez, ni en la misma página ni mucho menos en el mismo link.

¿alguien me podría ayudar? Si conocéis alguna web así (que no sea en flash, sólo html o dhtml), por favor, dadme la dirección para así poder fijarme (código abierto, claro)

Muchas gracias de ante mano.

tunait 14/02/2003 12:01

Buenas Fero :-)

para llamar a más de una función en el mismo evento basta con que las separes con un ; (punto y coma)


onMouseOver="MM_swapImg(argumentos);sonido('pepe.w av')"


:arriba:

Nachzeher 14/02/2003 12:05

Espero y te sirva, aunque solo quieres hacer las cosas al mismo tiempo...

Ya provaste un Script que invoque ambas funciones???




http://www.htmlweb.net/manual/sonido/sonido_1.html



Nachzeher

Fero2003 14/02/2003 13:05

Hola de nuevo.
Me da vergüenza ya decirlo pero es que no me funciona:
Creo el rollover desde Dreamweaver y después insterto la orden del sonido. Este sería el código de mi página:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onLoad="MM_preloadImages('azul.gif')">
<p><a href="nada.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','azul.gif',1 )"><img src="negro.gif" name="Image1" width="30" height="30" border="0"></a>
</body>
</html>

....y la única forma que tengo de insertar el sonido es usando:

<a href="sonido.htm" onMouseOver="document.all.sound.src='sonido1.wav' onClick="document.all.sound.src='sonido2.wav'" target="_blank">sonido</a></p>

Creo que ambas órdenes son incompatibles, no me deja hacer :

onMouseOut="MM_swapImgRestore();(document.all.soun d.src='sonido1')"

ni después incluir OnClick. O me da error o no reproduce nada.

Mil gracias por la paciencia y perdón por la molestia.

tunait 14/02/2003 13:13

:-) Hola,

prueba así:



<a href="nada.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','azul.gif',1 );document.all.sound.src='sonido1.wav"><img src="negro.gif" name="Image1" width="30" height="30" border="0"></a>

:arriba:

Fero2003 14/02/2003 13:56

Hola Tunai:
Qué va, no funciona tampoco así.
Intentaré crear el javascript del rollover "a mano" y otro para la precarga. En el primero intentaré incluir las dos acciones, que muestre la imagen y que reproduzca el sonido y a ver qué tal me sale.
Incluso a lo mejor me atrevo con un rollover múltiple.
De todas formas si lo consigo lo publicaré en el foro.
Muchas gracias por tu tiempo.
:arriba:

tunait 14/02/2003 14:04

Aish, acabo de darme cuenta de que omití una comilla simple

te daba error de constante de cadena sin terminar ¿no?

Antes de liarte más, haz este último intento:


<a href="nada.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','azul.gif',1 );document.all.sound.src='sonido1.wav'"><img src="negro.gif" name="Image1" width="30" height="30" border="0"></a>

me dejé entre wav y " una '. Añadela :arriba:

Fero2003 14/02/2003 15:02

Sí, me di cuenta de qeu no había simetría y la incluí pero aún así tampoco funciona. Creo que el problema va a estar en el código de cabecera. No digo que esté mal, sólo que no lo haga compatible con el elemento que yo le incluyo y dé error. Lo cierto es que no sé interpretarlo bien y no sé lo que modificar.

Por eso lo de intentarlo fabricando el script, no creo que sea difícil, supongo que habría que crear el que pre-carga las imágenes y después relacional el evento OnMouseOver con las dos acciones, además incluirle el evento OnClick.

¿Se te ocurre cómo hacerlo bien? intentaré hacerlo siguiendo un manual. Ya os contaré. Gracias :-)

tunait 15/02/2003 06:16

:-) Hola de nuevo, Fero

Bueno, lo de la precarga de imágenes puedes usar la función que trae dreamweaver. Para precarga de sonidos, ni p idea (no es lo mio esto del audio)

Efectivamente hacer una función para rollover es sencillo.
Mira, hice algo simple, el tema es que no furula en Netscape. Bueno, quizás furule con el plug-in apropiado, pero no es bueno depender de que la gente se descargue plug-ins (salvo excepciones)

Dejé un ejemplo colgado, a ver si te sirve aunque sea de orientación.



Yá me dirás algo

Saludos

Fero2003 15/02/2003 08:25

Hola Tunair :-)

Genial!! esto es lo que andaba buscando.
Aún así voy a tocarlo porque quiero incluir varios rollovers distintos, aunque los sonidos 1 y 2 serán los mismos siempre.
No sé si sería necesario precargar las imágenes y los sonidos, en ese caso lo pondré fuera de este script.

¡¡¡Muchísimas gracias!!!

Nos vemos por el foro. Salu2 :arriba:

Fero2003 19/02/2003 14:47

Hola Tunait:

Me vuelvo a encontrar con un problema con mi web, esa de los sonidos y los rollovers.

Bien, inserté el código que me diste, cambié los parámetros necesarios y funciona perfectamente. Ahora el problema está en que quiero que esos links al abrirse sean ventanas popUp o mejor, cromelless... Sé como abrir esas ventanas, el problema es que con ese código algo se hace incompatible. Supongo que el el navegador no sabe exactamente a qué codigo javascript está llamando y por eso no abre el popUp aunque los sonidos y los rollovers van perfectamente.

Por favor, a ver si me puedes ayudar.

Muchas gracias.

tunait 19/02/2003 14:55

:-) Hola Fero,

dejame aquí el código que estás usando para llamar a las popups :arriba:

Fero2003 19/02/2003 15:06

Este es el código:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=yes,location=0,statusbar=0,m enubar=0,resizable=0,width=550,height=419');");
}
// End -->
</script>

Después el enlace lo llamo

<a href="javascript:popUp('ventanita.htm')

Gracias. :arriba:

tunait 19/02/2003 15:11

:pensando: Hum.. pues no le encuentro yo el problema.

Prueba aqui

:arriba: :-)

Fero2003 19/02/2003 15:27

Síííííííí!!!! :-D
funciona, me he hecho un poco de lío cambiando cosas pero funciona de maravilla.
Muchísimas gracias, serás la primera en ver mi web.
Para lo que necesites, mil gracias :arriba:

tunait 19/02/2003 15:31

jejeje ole!

Así seré la primera? que ilu :-D (me lo puedes dar por escrito y firmado??) :borracho:

Un saludo, Fero


La zona horaria es GMT -6. Ahora son las 19:50.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.