Foros del Web » Programando para Internet » Javascript »

marcar mensaje tipo gmail

Estas en el tema de marcar mensaje tipo gmail en el foro de Javascript en Foros del Web. Hola! Tengo una web con correo interno. Me gustaria hacer rollo gmail para marcar mensajes con el gráfico de la estrellita. Es decir, en cada ...
  #1 (permalink)  
Antiguo 24/07/2007, 05:06
 
Fecha de Ingreso: abril-2006
Ubicación: El Masnou
Mensajes: 26
Antigüedad: 18 años
Puntos: 0
marcar mensaje tipo gmail

Hola!
Tengo una web con correo interno. Me gustaria hacer rollo gmail para marcar mensajes con el gráfico de la estrellita.
Es decir, en cada mensaje aparece un grafico de una estrellita, que al clicar encima cambiara el grafico por una estrellita rellena.
Lo mas dificil es hacer un marcar todo.

La idea que he ido pillando por ahi es primero haria un image preloader para cargar las dos imagenes, en cada estrellita un onclick="cambia()" y la funcion cambia() cambiará el src de la imagen, pero no se bien bien como cambiar el de una imagen sola, o cambiar todas a la vez.
el id de cada imagen ira cambiando segun el id que tenga el mensaje en la base de datos.
<img src="star_off.gif" id="Image1" onclick="canvia()" /><a href="#")"></a>

Un help para ver como lo encaro!

Gracias.
  #2 (permalink)  
Antiguo 26/07/2007, 07:05
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: marcar mensaje tipo gmail

Te cuento lo que haría yo:

Como no puedes simular un click en un elemento del documento (click() sólo funciona en IE) lo que yo haría sería replantear la función cambia() para pasárle por parámetro el id de la imagen que quieres modificar. Así para llamarla tendrás que hacer:

Código HTML:
<img src="star_off.gif" id="Image1" onclick="cambia(this.id)" /> 

Para detectar las imagenes, y llamar consecuentemente a cambia(id), podemos utilizar una condicional dentro de un bucle. Hacemos crecer una variable i mientras el elemento con id "Image"+i exista, y entonces tendremos los elementos imagenes:
Un esbozo:
Código PHP:
var i=0;
while( (
img document.getElementById("Image"+i)) ) {
cambia(img.id);
i++;

De esa manera podemos recorrer todas las imágenes para ejecutar cambia(id).



Otra manera es con DOM, obtener todas las imagenes del documento (o de la tabla o DIV donde tengas las imagenes) y mirar si su id tiene la estructura de "ImageXX". Si la tiene entonces aplicamos cambia(id).... pero quizás sea un poco más costoso en cuestiones de rendimiento.



Bueno, espero que me entiendas.
Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 08:24.