Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Obtener nombre id en variable

Estas en el tema de Obtener nombre id en variable en el foro de Jquery en Foros del Web. Hola, buenos dias, os cuento. Lo primero, llevo poco tiempo con javascript y en jquery estoy pez. Estoy haciendo una web usando imagenes como acceso ...
  #1 (permalink)  
Antiguo 29/06/2015, 03:23
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Obtener nombre id en variable

Hola, buenos dias, os cuento.
Lo primero, llevo poco tiempo con javascript y en jquery estoy pez. Estoy haciendo una web usando imagenes como acceso a paginas externas. La he maquetado de tal forma que los ids de cada imagen tienen el mismo nombre que la pagina que quiero cargar. Por ejemplo, una imagen con id paco abre la pagina paco.html. Estoy intentando (sin exito) hacer una funcion que pinche donde pinche me guarde en una variable el id, para luego al cargar la paina sea: load(variable+".html"). A ver si me abris los ojos. GRacias
Otra cosa, los estilos y las funciones de la "pagina paco.html" se siguen usando en esa pagina, o hay que pasarlos a la pagina que la llama???
  #2 (permalink)  
Antiguo 29/06/2015, 03:53
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

La forma que se me ocurre de hacerlo es asociar el el mismo evento a todas las imágenes del documento y obtener el ID de la actual mediante la propiedad target del evento, o con el keyword this:

Código Javascript:
Ver original
  1. $("img").on("click", function(e){
  2.  
  3.     var id = e.target.id; // o this.id
  4.  
  5.   // .load(id + ".html");
  6. });

  #3 (permalink)  
Antiguo 29/06/2015, 07:50
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

GRacias. El codigo que has puesto se pone en la etiqueta head o en la etiqueta de todas las imagenes que ejecutan esa funcion? Tengo un archivo "funciones.js" asociado. Se podria meter en ese archivo y llavar a la funcion usando en la etiqueta "onclick=funcion". Es que como he dicho al principio no tengo ni idea de jquery y un poco de javascript.
Gracias de nuevo.
  #4 (permalink)  
Antiguo 29/06/2015, 08:58
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

Se pone entre las etiquetas <script> y </script> dentro del head, o bien al final del body.
  #5 (permalink)  
Antiguo 29/06/2015, 09:40
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

ok, esta noche lo pruebo y te comento
gracias
  #6 (permalink)  
Antiguo 30/06/2015, 02:58
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

No me funciona. Te paso el codigo html y css a ver si ves el fallo.

HTML:

<DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible">
<title>F1 Legends</title>
<link rel="shortcut icon" href="imagenes/logo-ventana.ico">
<link href="http://fonts.googleapis.com/css?family=Exo:400,500,700,500italic" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/reloj.css">
<script type="text/javascript" src="funciones.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

<script type="text/javascript">
$("img"). on("click"), function(e){
var id = e.target.id;
alert(id);
id=id+".html";
$("#menuizquierda").load(id);
}
</script>
</head>

<body>
<div id="contenedorindex">
<div id="diseñomenu">
<img id="fotologo" src="imagenes/logo.png"/>
<div id="usuariosmenu">
<p>Usuarios</p>
User<input id="usuario" type="text" name="usuario" value="" size="10" required/><br/>
Pass<input id="contraseña" type="password" name="pass" value="" size="8" maxlength="8" required/>
<input id="login" type="button" name="login" value="login"/>
<a href="formulario.html">Registrate</a><br/><br/>
<a href="mailto:[email protected]">Contactanos</a>
</div>
<div id="Curiosidadesmenu">
<p>Curiosidades</p>
<img src="imagenes/menu%20curiosidades.png">
</div>
<div id="costemenu">
<p>Coste Monoplaza</p>
<img src="imagenes/menu%20coste.png">
</div>
<div id="circuitosmenu">
<p>Circuitos Historicos</p>
<img src="imagenes/menu%20circuito.png">
</div>
<div id="pilotosmenu">
<p>Mejores Pilotos</p>
<img src="imagenes/menu%20pilotos.png">
</div>
<div id="escuderiasmenu">
<p>Principales escuderias</p>
<img src="imagenes/menu%20escuderias.png">
</div>
</div>
<div id="menuizquierda">
</div>
<div id="widget">
<div id="reloj">
<img id="foto"/>
<p id="texto"></p>
</div><br/>
<iframe WIDTH="200" HEIGHT="400" title="Shoutbox" src="http://shoutbox.widget.me/window.html?uid=fjrqql8i" frameborder="0" scrolling="auto"></iframe><script src="http://shoutbox.widget.me/v1.js" type="text/javascript"></script><br><a href="http://shoutbox.widget.me" title="Shoutbox Widget"></a><a href="http://shoutbox-tutorials.blogspot.com" title="Shoutbox Tutorials"></a>



</div>
</div>
</body>

CSS

* {padding: 0; margin: 0}

body {
background-image: url(../imagenes/asfalto.png);
font-family: exo;
}

#contenedorindex {
color: white;
width: 100%;
}

#usuariosmenu{padding-left: 15px;}
#usuariosmenu a {
text-align:center;
color: white;
}

#diseñomenu{
width: 100%;
height: 200px;
background-image: url(../imagenes/asfalto%20meta.png);
margin-top: 1% ;
/* height: 10%;*/
}
#diseñomenu p {
margin-top: 0px;
text-align: center;
}

#diseñomenu > div{
opacity: 0.8;
float: right;
display: inline;
background-image: url(../imagenes/fondo%20menu.png);
border-radius: 15px;
border: 2px solid white;
width: 200px;
height: 30px;
font-weight: bolder;
font-size: 1.3em;
margin: 0.5%;
margin-top: 1%;
transition:1s;
overflow: hidden;
}
#diseñomenu img {
margin-top: 0px;
margin-left: 6px;
}
#menuizquierda{
height: 500px;
width: 250px;
float: left;
}


/*
iframe{
padding: 2px 0 0 0;
height: 600px;
width: 200px;
}
*/
#widget {
width: 220px;
margin: 1% 1% 0 0;
display: inline;
float: right;}

#diseñomenu div:hover {
border: 3px solid white;
background-image: url(../imagenes/fondo%20menu%20activo.png);
height: 160px;
opacity: 1;
color: black;
}
  #7 (permalink)  
Antiguo 30/06/2015, 03:37
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

Funciona perfectamente, pero tienes que asignarles un ID a todas las imágenes y meter el código tal cual te di en un $(document).ready();
  #8 (permalink)  
Antiguo 30/06/2015, 03:38
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

en donde va el documetn.ready?
  #9 (permalink)  
Antiguo 30/06/2015, 03:44
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

Cópialo y pégalo donde el anterior código tal cual, y asegúrate de que pones todos los IDs de las imágenes (para que se puedan mostrar):

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $("img").on("click", function(e){
  3.         var id = e.target.id;
  4.         alert(id);
  5.         id = id + ".html";
  6.         $("#menuizquierda").load(id);  
  7.     });
  8. });
  #10 (permalink)  
Antiguo 30/06/2015, 04:03
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

Ahora al pinchar en las imagenes del menu salta el alert con el nombre del id pero no me carga la pagina. He copiado los nombres de los id's y los he pegado en los nombres de los html, para asegurarme que es el mismo nombre, y tampoco.

Tampoco te quiero agobiar con este tema
  #11 (permalink)  
Antiguo 30/06/2015, 04:07
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

¿Pero los archivos están bien nombrados?
  #12 (permalink)  
Antiguo 30/06/2015, 04:13
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

Si. Curiosamente, si lo veo con la vista dinamica de bracket los hace bien, pero si voy a la carpeta donde tengo guardado el proyecto se queda solo en el alert ????
  #13 (permalink)  
Antiguo 30/06/2015, 04:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

Abre la consola de tu navegador (F12) y mira si hay algún error.
  #14 (permalink)  
Antiguo 30/06/2015, 04:22
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

Justo te lo iba a mandar ahora.

jquery.js:8630 XMLHttpRequest cannot load file:///E:/mio/proyecto%20web/escuderiasmenu.html. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Lo que no entiendo es que lanzandolo desde bracket si funciona y directamente desde el archivo no
  #15 (permalink)  
Antiguo 30/06/2015, 04:24
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

Vale, bien. Es un error de seguridad que generan los navegadores cuando se intenta acceder a archivos locales del equipo, como es tu caso. Cuando lo subas a un servidor el problema desaparece porque va vía http.
  #16 (permalink)  
Antiguo 30/06/2015, 04:34
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

aaaahhhh, joder que susto.
Pues muchas gracias por todo. Da gusto con gente asi. Te debo una (de momento, que seguro que seran mas, si no te molesta)
  #17 (permalink)  
Antiguo 30/06/2015, 04:43
 
Fecha de Ingreso: mayo-2015
Mensajes: 25
Antigüedad: 9 años
Puntos: 2
Respuesta: Obtener nombre id en variable

Vale, he hecho la prueba desde el xampp y lo ejecuta bien. Podian avisar lo de la seguridad en letras grandes
Gracias de nuevo
  #18 (permalink)  
Antiguo 30/06/2015, 04:47
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Obtener nombre id en variable

Nada hombre

Me alegra haberte sido de ayuda

Etiquetas: nombre, variable
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 19:21.