Foros del Web » Programando para Internet » Javascript »

cambio de imágenes en botonera que perduren los cambios

Estas en el tema de cambio de imágenes en botonera que perduren los cambios en el foro de Javascript en Foros del Web. Hola gente, estoy haciendo una menú que cuando te pones encima cambie a otra imágen, eso ya lo he conseguido pero cuando saco el puntero ...
  #1 (permalink)  
Antiguo 24/07/2010, 07:46
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
cambio de imágenes en botonera que perduren los cambios

Hola gente, estoy haciendo una menú que cuando te pones encima cambie a otra imágen, eso ya lo he conseguido pero cuando saco el puntero del ratón de encima vuelve a ponerse como al principio, y yo quiero que se mantenga el cambio hasta que pinche en otro enlace del menú.
¿Alguna idea?.
Lo estoy haciendo de esta forma:
La llamada desde el html a las funciones javascript
Código:
<A href="textos.htm"  onMouseOver="turnOn('image1')" onMouseOut="turnOff('image1')" target="textos" title="textos"><img src="Imagenes/filaArriba/rrrrrfOf.gif" alt="textos" name="image1" border="0" boder="0"></a>
Código:
if (document.images) { 
 image1off = new Image();
 image1off.src = "Imagenes/filaArriba/rrrrrfOf.gif";
 image2off = new Image();
 image2off.src = "Imagenes/filaArriba/dddddOff.gif";
 image3off = new Image();
 image3off.src = "Imagenes/filaArriba/aaaaOff.gif";
 image4off = new Image();
 image4off.src = "Imagenes/filaArriba/PfdfdOff.gif";
 image5off = new Image();
 image5off.src = "Imagenes/filaArriba/EfdfdfesOff.gif";
 image6off = new Image();
 image6off.src = "Imagenes/filaArriba/CffffgOf";
 image7off = new Image();
 image7off.src = "Imagenes/filaArriba/CsssstoOff.gif";


 image1on = new Image();
 image1on.src = "Imagenes/filaArriba/rrrrrffOn.gif";
 image2on = new Image();
 image2on.src = "Imagenes/filaArriba/dddddOn.gif";
 image3on = new Image();
 image3on.src = "Imagenes/filaArriba/aaaaOn.gif";
 image4on = new Image();
 image4on.src = "Imagenes/filaArriba/PfdfdOn.gif";
 image5on = new Image();
 image5on.src = "Imagenes/filaArriba/EfdfdfesOn.gif";
 image6on = new Image();
 image6on.src = "Imagenes/filaArriba/CffffgOn.gif";
 image7on = new Image();
 image7on.src = "Imagenes/filaArriba/CsssstoOn.gif";

}

function turnOn(imageName) { 
	if (document.images) { 
	document[imageName].src = eval(imageName + "on.src"); 
	}
}

function turnOff(imageName) { 
	if (document.images) {
	 document[imageName].src = eval(imageName + "off.src"); 
	}
}
Soy programador php y con javascript aveces me lio un poco todavía a estas alturas.
El tema es que quiero que una vez que la imagen cambie perdure este cambio hasta que pinche en otra imágen/enlace distinto, y entonces que suceda lo mismo.

Un saludo y mil gracias
__________________
Videotutoriales de Drupal
  #2 (permalink)  
Antiguo 24/07/2010, 14:30
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: cambio de imágenes en botonera que perduren los cambios

no uses la funcion turnOff
  #3 (permalink)  
Antiguo 24/07/2010, 16:06
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: cambio de imágenes en botonera que perduren los cambios

Hola

A ver si sacas alguna idea de esto
Código Javascript:
Ver original
  1. <html>
  2. <style type="text/css">
  3. .sel {color:#FF0000; width:30px;}
  4. .nosel {color:#000000; width:30px;}
  5. </style>
  6. <script type="text/javascript">
  7. var visto_color = null;
  8. function ver(val) {
  9. objhl = document.getElementById(val);
  10.  
  11. objhl.className = (objhl==visto_color) ? 'nosel' : 'sel';
  12.  
  13.     if (visto_color != null) {
  14.         visto_color.className = 'nosel';
  15.     }
  16.  
  17. visto_color = (objhl==visto_color) ? null : objhl;
  18. }
  19.  
  20. </script>
  21. <head>
  22. </head>
  23. <body>
  24. <div id="menu1" class="nosel" onmouseover="ver(this.id)">MENU0</div>
  25. <div id="menu2" class="nosel" onmouseover="ver(this.id)">MENU1</div>
  26. <div id="menu3" class="nosel" onmouseover="ver(this.id)">MENU2</div>
  27. <div id="menu4" class="nosel" onmouseover="ver(this.id)">MENU3</div>
  28. </body>
  29. </html>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 25/07/2010, 02:48
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: cambio de imágenes en botonera que perduren los cambios

Cita:
Iniciado por tredio Ver Mensaje
no uses la funcion turnOff
¿Porque?
__________________
Videotutoriales de Drupal
  #5 (permalink)  
Antiguo 25/07/2010, 09:09
Avatar de tredio  
Fecha de Ingreso: noviembre-2008
Ubicación: Carabobo
Mensajes: 466
Antigüedad: 15 años, 5 meses
Puntos: 66
Respuesta: cambio de imágenes en botonera que perduren los cambios

mira el ejemplo que te puso Adler, si prestas un poco de atencion veras que donde estasn los menus el registra el evento onmouseover y lo asocia a la funcion ver que en tu caso seria turnOn.

por que no usar la funcion turnOff?, simplemente por que ella es la que se encarga de volver a colocar la imagen original, y eso es qlo que tu no quieres por lo que entendi. prueba asi como te lo mostro Adler en su ejemplo.
  #6 (permalink)  
Antiguo 25/07/2010, 14:12
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: cambio de imágenes en botonera que perduren los cambios

Cita:
Iniciado por tredio Ver Mensaje
mira el ejemplo que te puso Adler, si prestas un poco de atencion veras que donde estasn los menus el registra el evento onmouseover y lo asocia a la funcion ver que en tu caso seria turnOn.

por que no usar la funcion turnOff?, simplemente por que ella es la que se encarga de volver a colocar la imagen original, y eso es qlo que tu no quieres por lo que entendi. prueba asi como te lo mostro Adler en su ejemplo.
Creo que eso no sirve para lo que yo quiero.
El tema es que es una web que usa Frames (si, se que no es aconsejable, pero no la he hecho yo); y la botonera esta en un frame, la fila con la botonera tiene 6 imágenes que cuando pinchas en una quiero que se ponga otra imagen casi igual pero roja, y se mantenga mientras no pinche en otro (todos los enlaces cargan en el (creo que se llamaba main) centro) .

Hace mucho que he dejado de usar frames por lo que me parece que el error viene de ahí , el menú tiene una única vista que he creado con php que es llamada cada vez que quiero que se muestre el menú de arriba (include('vista.html.php'); pero el javascript funciona porque sino la imagen no cambiaría al ponerme encima (y si lo hace), pero el problema es que cuando salgo de encima vuelve la orginal y esto no me pasaba antes de haber creado la vista y haber quitado el menú de todas las páginas, ya que estaba repetido 100 veces.

Un saludo
__________________
Videotutoriales de Drupal
  #7 (permalink)  
Antiguo 26/07/2010, 05:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: cambio de imágenes en botonera que perduren los cambios

Hola

Cita:
Iniciado por Dundee Ver Mensaje
Creo que eso no sirve para lo que yo quiero.
El tema es que es una web que usa Frames (si, se que no es aconsejable, pero no la he hecho yo); y la botonera esta en un frame, la fila con la botonera tiene 6 imágenes que cuando pinchas en una quiero que se ponga otra imagen casi igual pero roja, y se mantenga mientras no pinche en otro (todos los enlaces cargan en el (creo que se llamaba main) centro) .

Hace mucho que he dejado de usar frames por lo que me parece que el error viene de ahí , el menú tiene una única vista que he creado con php que es llamada cada vez que quiero que se muestre el menú de arriba (include('vista.html.php'); pero el javascript funciona porque sino la imagen no cambiaría al ponerme encima (y si lo hace), pero el problema es que cuando salgo de encima vuelve la orginal y esto no me pasaba antes de haber creado la vista y haber quitado el menú de todas las páginas, ya que estaba repetido 100 veces.
Es distinto creer que estar seguro. Pruebalo y nos cuenta si se ha disipado esa duda

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 30/07/2010, 02:23
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: cambio de imágenes en botonera que perduren los cambios

Vale , ya está solucionado , así de fácil:

Primera opción, crear una vista con PHP y llamarla cada vez que queramos (con sus condicionales para lo que voy a explicar ahora), esta es la forma que más me gusta.

Segunda opción : en cada página (o cargar la vista que creamos previamente con los condicionales según la página en la que nos encontremos) poner el menú con los eventos debajo escritos en cada item de menú ,tanto onMouseOver como onMouseOut:
Código:
 onMouseOver="turnOn('image5')"  onMouseOut="turnOff('image5')"
Salvo si estamos en la página en la que queremos que su enlace cambie (vamos que la imagen cambie) entonces NO PONEMOS onMouseOut="turnOff('imageX')", así mientras estemos en dicha página la imagen del enlace seguirá siendo la que queremos , en este caso una en azul.
En fin era muy fácil.

Un saludo y gracias
__________________
Videotutoriales de Drupal

Etiquetas: cambios, botones
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 21:55.