Foros del Web » Programando para Internet » Javascript »

activar enlace mediante código JS

Estas en el tema de activar enlace mediante código JS en el foro de Javascript en Foros del Web. Buenas: Tengo una web con un conjunto de miniaturas en una capa: <div id="gallery"> <em id="thumbs"> <a href="#nogo"><img id="img1" src="gente/sea_1.jpg" alt="" /></a> <a href="#nogo"><img src="gente/sea_2.jpg" ...
  #1 (permalink)  
Antiguo 23/04/2009, 13:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 16 años, 3 meses
Puntos: 0
Exclamación activar enlace mediante código JS

Buenas:

Tengo una web con un conjunto de miniaturas en una capa:

<div id="gallery">
<em id="thumbs">
<a href="#nogo"><img id="img1" src="gente/sea_1.jpg" alt="" /></a>
<a href="#nogo"><img src="gente/sea_2.jpg" alt="" /></a>
....
</em>

</div>

Cuando pincho sobre una de ellas (el enlace está activo), muestra la img ampliada (con CSS)

#thumbs a:active img
{ position: absolute;
width: auto;
height: auto;
right: 196px;
top: 8px;
padding: 2px;
border: 2px solid #40403E;
z-index:2;

}

En principio no tengo ningún enlace activo y por tanto no muestra ninguna imagen ampliada. Lo que quiero saber es como activar el primer enlace (con código JS) antes de mostrar la página, para que cuando se abra la página muestre la primera img ampliada y la primera miniatura seleccionada.

He leido otras preguntas relacionadas que proponian hacerlo con:

document.getElementById("img1").click();

pero NO FUNCIONA, ¿alguna ideita pá mi?

Muchas gracias
  #2 (permalink)  
Antiguo 23/04/2009, 16:28
Avatar de Dude--  
Fecha de Ingreso: junio-2004
Ubicación: Sevilla - España
Mensajes: 197
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: activar enlace mediante código JS

Para que puedas enviar un evento a un elemento este debe existir, es decir, si buscas un objeto mediante getElementId() y luego le mandas el evento click() el objeto mencionado debe estar creado. Si buscas el objeto antes de que el navegador lo haya "construido" no va a funcionar, por lo que la búsqueda debe estar situada (hablando de la estructura del documento) tras la construcción del objeto (en este caso una imagen), por lo que debería quedar tal que así:

<div id="gallery">
<em id="thumbs">
<a href="#nogo"><img id="img1" src="gente/sea_1.jpg" alt="" /></a>

<script>document.getElementById("img1").click(); </script>

<a href="#nogo"><img src="gente/sea_2.jpg" alt="" /></a>
__________________
"El camino empieza renunciando el control y volviéndose flexibles, como una brizna de paja en un huracán."

"Desconozco tanto... es excitante comenzar a nadar en este mar de dudas..."
  #3 (permalink)  
Antiguo 24/04/2009, 03:01
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: activar enlace mediante código JS

Dude, así es justo como lo tengo (lo vi en otra consulta), pero ná

¿nadie puede ayudarme?
pleaseeeeee
  #4 (permalink)  
Antiguo 24/04/2009, 03:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Respuesta: activar enlace mediante código JS

Hola:

click() no es estandar, así que solo va a funcionar en los navegadores que lo soportan... además no veo una definición de ese "onclick"... si lo que se quieres es ir a la referencia "#nogo", tendría que hacerse con location.href...

window.onload = function () {location.href = "#nogo"}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 24/04/2009, 04:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: activar enlace mediante código JS

No voy a ninguna página. Al pulsar sobre una de las miniaturas, la muestra ampliada a su izquierda (código CSS de mi primer mensaje).
Lo que quiero es que aparezca selecc la primera miniatura (primer enlace) y mostrando la ampliación de la miniatura (es la misma imagen desplazada y aumentada de tamaño....

de todas formas, gracias por vuestra ayuda.... ¿más ideas?
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:51.