Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problemas con menu

Estas en el tema de Problemas con menu en el foro de Frameworks JS en Foros del Web. Bueno antes que todo agradecer cualquier ayuda sugerencia o critica. Bueno les comento que tengo un menu de esta forma: Código HTML: <a class= "mano" ...
  #1 (permalink)  
Antiguo 19/05/2010, 09:31
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Problemas con menu

Bueno antes que todo agradecer cualquier ayuda sugerencia o critica.

Bueno les comento que tengo un menu de esta forma:

Código HTML:
<a  class="mano" href="home.php" >Home</a> |
<a  class="mano" href="galeria.php" >Galeria</a> |
<a  class="mano" href="contacto.php" >Contacto</a> |
....
....
Les comento que trabajo con la version jquery-1.4.2 y mi codigo es el
siguiente.

Código:
$(".mano").live("click",function(){
       var url
       url=$(this).attr("href");
       $(this).removeAttr("href");//elimino el atributo href que vien por
html para que trabaje solo con jquery
       //alert (url);

       $.post(url, function(data){
               $("#contenido").html(data);
                     if (url.indexOf("frmMuro.php")!=-1){
                             $("#txtNombreM").focus();
                      }
                      if (url.indexOf("formMantagua.php")!=-1){
                              $("#txtCodigoBarras").focus();
                      }
                      if (url.indexOf("formAccesoAdmini.php")!=-1){
                               $("#txtAdmin").focus();
                       }
        });
 })
Ahora les comento mi problema, cuando hago un clic en una opcion del menu por ejemplo galeria me la carga sin problema, luego hago clic en el menu la opcion home me carga sin problema ..... EL PROBLEMA esta en que cuando quiero volver a hacer clic en la opcion galeria del menu....en el div me carga la pagina completa....puse un alert para saber que me traia la varible url y cuando hago clic en home me muestra home.php cuando haglo cilc en galeria muestra galeria.php y
cuando vuelvo a hacer clic en home me muestra undefined ...y nose me
ocurre como resolver esto.
Espero haberme explicado bien y desde ya Gracias.
  #2 (permalink)  
Antiguo 19/05/2010, 11:29
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Problemas con menu

Es que estas eliminando el atributo href. Para la segunda vez ya no existe, y se toma el valor por defecto: #

$(this).removeAttr("href");

Otra cosa. No podes definir una variables sin usar ;

var url

Soluciones? No se. Habría que pensar el flujo de tu pagina.
  #3 (permalink)  
Antiguo 19/05/2010, 12:22
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Problemas con menu

Primero que todo GRACIAS y entiendo lo que me dices, te cuento que aun no logro solucionarlo tan solo agrege una if para que no me cargara el index nuevamente en en div contenido, hasta el momento esto es lo que tengo:

Código:
$(".mano").live("click",function(){
	var url; 
	url=$(this).attr("href");
	$(this).removeAttr("href");		//elimino el atributo href que vien por html para que trabaje solo con jquery
	//alert (url);
	if (url!=undefined){
		$.post(url, function(data){
			$("#contenido").html(data);
				//if(url.indexOf("concursoFotografia.php")!=-1){
				if (url.indexOf("frmMuro.php")!=-1){
					$("#txtNombreM").focus();	
				}
				if (url.indexOf("formMantagua.php")!=-1){
					$("#txtCodigoBarras").focus();	
				}
				if (url.indexOf("formAccesoAdmini.php")!=-1){
					$("#txtAdmin").focus();	
				}
		});
	}
})
Bueno comentarte que debo eliminar el atributo del href ya que sino lo elimino me carga la pagina en otro pagina aparte y no en el div y otra cosa cuando te refieres a la segunda vez supongo que haces referencia a la segunda vez q le hago clic al mismo enlace...porq es en ese momento que no me funciona.
  #4 (permalink)  
Antiguo 19/05/2010, 14:54
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Problemas con menu

Bueno al parecer lo soluciones de esta forma:

Código:
$(".mano").each(function() { 
          var href = $(this).attr("href"); 
          $(this).click(function(){ 
	$(this).removeAttr("href");		//elimino el atributo href que vien por html para que trabaje solo con jquery
            $("#contenido").load(href); }); 
   });
Lo que no puedo hacer es que despues que hago clic en el enlace se me pierde el subrayado....pensaba hacer algo asi

$("a:link").css("text-decoration","none");

No me funciono, pero realmente nose si estara correcto eso.

Tomando cuenta estos datos.
Código HTML:
a:link {text-decoration:none; color: #99CC00;} /* Link no visitado*/
a:visited {text-decoration:none; color:#99CC66} /*Link visitado*/
a:active {text-decoration:none; color:#99FF00; background:#EEEEEE} /*Link activo*/
a:hover {text-decoration:underline; color:#99FF00; background: #EEEEEE} /*Mause sobre el link*/
Bueno gracias por todo y si me pueden ayudar en eso de los enlaces para subrayarlos luego de hacer el clic.
  #5 (permalink)  
Antiguo 19/05/2010, 18:31
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Problemas con menu

Viendo tu CSS, no veo necesidad de cambiar nada con jquery. Pero si lo queres hacer, lo que planteaste esta bien mas o menos bien encarado.

Fijate en esto: http://api.jquery.com/hover/

Pero vuelvo a decir, me parece un detalle muy grande sacar el subrayado con un click, si ya con el mouseout está definido.
  #6 (permalink)  
Antiguo 19/05/2010, 19:40
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Problemas con menu

haber mayid gracias por tus datos ...pero no es que yo quiera sacarle el subrayado lo que pasa es que al hacer clic en un enlace y luego en otro del menu se pierde el subrayado de los enlaces.
entonces mi idea es forzar a que aparescan los enlaces subrayados por ahi va mi pregunta.

Ahora porque desaparecen los subrayados de los enlaces supongo que por esto:
$(this).removeAttr("href");

gracias nuevamente por la ayuda.
  #7 (permalink)  
Antiguo 20/05/2010, 09:33
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Problemas con menu

Usando esto estas haciendo que tu link se vuelva html no valido. Mejor usa esto:

$(this).attr("href","#");
  #8 (permalink)  
Antiguo 20/05/2010, 10:01
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Problemas con menu

genial mayid ...muchas gracias me quedo finalmente el codigo de esta forma:

Código:
$(".mano").each(function() { 
          var href = $(this).attr("href"); 
          $(this).click(function(){ 
	  $(this).attr("href","#");
            $("#contenido").load(href); }); 
   });
Gracias por todo mayid saludos desde CHILE.
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 06:31.