Foros del Web » Programando para Internet » Javascript »

Pasar enlace a una imagen por JS

Estas en el tema de Pasar enlace a una imagen por JS en el foro de Javascript en Foros del Web. Saludos, tengo una web la cual posee enlaces dinámicos, pero la manera en que está programada no me permite hacer los vinculos para cambios de ...
  #1 (permalink)  
Antiguo 14/05/2013, 10:04
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Pasar enlace a una imagen por JS

Saludos,

tengo una web la cual posee enlaces dinámicos, pero la manera en que está programada no me permite hacer los vinculos para cambios de idioma como se deberia...

posee una capeta esp y una eng

tiene noticas con enlaces como www.pagina.com/esp/noticiasleer.php?id=1

la idea es pasar ese vinculo que se muestra en la barra a la banderita de idioma.. pero cambiando carpeta.. se podrá hacer esto?
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 14/05/2013, 11:20
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Respuesta: Pasar enlace a una imagen por JS

Hola T4Ke0veR,

Podrías usar JQuery para asignar el atributo href a tus enlaces. Hay varias formas pero una de ellas es la siguiente:

$("a").attr("href", "http://www.google.com/")

Este ejemplo asigna a todos los <a></a> de tu web el enlace a google.

Podrías usar Expresiones Regulares y patrones para reemplazar el idioma.

De todos modos sería mejor si nos puedes indicar un poco mejor a qué te refieres con "la idea es pasar ese vínculo que se muestra en la barra a la banderita del idioma ..."

Saludos cordiales.
Francisco J.
  #3 (permalink)  
Antiguo 14/05/2013, 11:23
Avatar de ggomez91  
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Pasar enlace a una imagen por JS

Entendí bien?
La idea es que estás navegando en www.pagina.com/esp/algunLinkPorAqui?algo=algo y haya una banderita que te enviaría a www.pagina.com/eng/algunLinkPorAqui?algo=algo, es correcto?

Si sí no es tan dificil con js. Primero obten la url actual con document.URL y obten la parte después de la carpeta de idioma, en mi ejemplo sería obtener "algunLinkPorAqui?algo=algo", luego solo pegale la url de la otra carpeta y ponal como enlace
  #4 (permalink)  
Antiguo 14/05/2013, 11:32
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Respuesta: Pasar enlace a una imagen por JS

Podrías usar algo así:

$("a").attr("href", "http://pagina.com/" + "idioma" + "/restoEnlace?parametros");

Donde podrías seleccionar el valor de "idioma" del id de la bandera tal que así:

Pongamos el caso de que cada bandera tiene un id asociado (la bandera de España tiene id=es, la bandera de UK tiene id="eng". Podrías usar lo siguiente.
Código:
$("img.bandera").on("click",function(){
$("a").attr("href", "http://pagina.com/" + $(this).attr("id") + "/restoEnlace?parametros");
});
Saludos cordiales.
Francisco J.
  #5 (permalink)  
Antiguo 14/05/2013, 11:33
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: Pasar enlace a una imagen por JS

exacto ggomez91 quiero extraer el archivo.php y anteponerle la carpeta para que asi cuando den click en la bandera de "ingles" por ejemplo vayan al archivo con el mismo nombre pero que se encuentra en la carpeta eng
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #6 (permalink)  
Antiguo 14/05/2013, 11:35
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Respuesta: Pasar enlace a una imagen por JS

Perdón pero erré al poner el código, es que no estoy en el equipo de desarrollo.

De todos modos aunque la asignación sería esa, pero no en el evento click ya que en el mismo evento no puedes asociar el enlace.

Lo suyo es que lo hagas en el evento load de la web $(document).ready().

Y ya lo tendrías a la hora de hacer click en la bandera.

Disculpad el error.

Saludos cordiales.
Francisco J.
  #7 (permalink)  
Antiguo 14/05/2013, 11:45
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: Pasar enlace a una imagen por JS

mmmmmmm entiendo.. o sea...
supongamos q estoy en www.mipagina.com/esp/contacto.php

doy click en ingles...

la variable o funcion deberia llamar asi

../carpetaidioma/vinculo

es decir q
Código PHP:
$("img.bandera").on("click",function(){
$(
"a").attr("href""http://pagina.com/" + $(this).attr("id") + "/restoEnlace?parametros");
}); 
emmm me enrede... donde llamo a la carpeta?? en $(this) ???
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #8 (permalink)  
Antiguo 14/05/2013, 12:07
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Respuesta: Pasar enlace a una imagen por JS

Si, pero como te comentaba, no sería en el mismo evento click, ya que si haces click no le da tiempo al enlace a reconocer que estás asociándole un valor nuevo.

Sería más bien en el ready del documento $(document).ready(function(){}).

Dentro de esa función debes poner el código que te agregué:
$("a").attr("href", "http://pagina.com/" + $(this).attr("id") + "/restoEnlace?parametros");

Imagínate que tienes un enlace y dentro de éste la banderita. A cada bandera en su <img> le asignas un id con el código del idioma (es, eng, it, pt, ...) lo suyo sería usar nombres estándar para nombrarlos, bien usando el código del país (véase http://es.wikipedia.org/wiki/ISO_3166-1), o bien de las lenguas (véase http://es.wikipedia.org/wiki/ISO_639). Una vez tienes el valor del id de la banderita, se lo asignas al enlace.

En este caso podrías usar un código similar a éste:

Código:
$(document).ready(function(){
$("a.idioma").each(function(){
$(this).attr("href","http://pagina.com/" + $(this).find('img').attr('id') + "/restoEnlace?parametros");
});
});
Donde a.idioma se refiere a todos los enlaces con la clase idioma.

Te repito que hablo un poco de memoria porque no estoy en casa ni en el trabajo, y no tengo ningún ambiente de desarrollo para probarlo.

Saludos cordiales.
Francisco J.

Etiquetas: enlace, js, php
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 12:29.