Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Sombrear botón de acuerdo a url

Estas en el tema de Sombrear botón de acuerdo a url en el foro de Jquery en Foros del Web. Hola, buenos días, Estoy tratando de sombrear, o mejor dicho cambiar el color de un botón de menú, cuando te encuentres dentro de su página ...
  #1 (permalink)  
Antiguo 11/07/2014, 09:49
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 7 meses
Puntos: 27
Sombrear botón de acuerdo a url

Hola, buenos días,

Estoy tratando de sombrear, o mejor dicho cambiar el color de un botón de menú, cuando te encuentres dentro de su página correspondiente. Es ecir, si el botón dice "Empresa" y le das click y vas a www.dominio.com/empresa.php, el botón quede con otro color estando ahí.

Lo he conseguido hacer con este código:

Código Javascript:
Ver original
  1. // Sombreado de botones con jQuery
  2. var url = document.URL;      // Obtenemos la url actual
  3.        
  4. var emp = 'http://localhost/Sistema%20Facturacion/SYSNEGOC/empresa.php';
  5. var cli = 'http://localhost/Sistema%20Facturacion/SYSNEGOC/clientes.php';
  6. var fac = 'http://localhost/Sistema%20Facturacion/SYSNEGOC/facturacion.php';
  7. var cob = 'http://localhost/Sistema%20Facturacion/SYSNEGOC/cobranza.php';
  8. var inv = 'http://localhost/Sistema%20Facturacion/SYSNEGOC/inventario.php';
  9. var rep = 'http://localhost/Sistema%20Facturacion/SYSNEGOC/generador.php';
  10.        
  11. switch(url){
  12.    
  13.     case (url = emp): $(".emp").css("background-color","#D28F25"); break;
  14.     case (url = cli): $(".cli").css("background-color","#D28F25"); break;
  15.     case (url = fac): $(".fac").css("background-color","#D28F25"); break;
  16.     case (url = cob): $(".cob").css("background-color","#D28F25"); break;
  17.     case (url = inv): $(".inv").css("background-color","#D28F25"); break;
  18.     case (url = rep): $(".rep").css("background-color","#D28F25"); break;                                                          
  19. }

sin embargo, en ocasiones cuando regreso a alguna página, por ejemplo clientes.php de acuerdo a alguna referencia de algún cliente, la página puede llegar a mostrarse así :

entonces, cuando sucede eso el código arriba citado de javascript ya no funciona, por obvias razones:

Cita:
var url = "http://localhost/Sistema%20Facturacion/SYSNEGOC/clientes.php"
ya no es igual a
var cli = "http://localhost/Sistema%20Facturacion/SYSNEGOC/clientes.php?id=10"
entonces me pregunto, ¿hay alguna función en javascript, para eliminar todo lo que aparezca después de "?"?

he buscado, pero no encuentro alguna función que lo haga en javascript, si en PHP.

¿Saben de algo así?O de algún otro método para cambiar el color del botón cuando estamos en la página que corresponde. De antemano les agradezco por sus comentarios.

Saludos!!
  #2 (permalink)  
Antiguo 11/07/2014, 11:29
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: Sombrear botón de acuerdo a url

¿No puedes poner un script único por cada página?

Por cierto, creo que el manejo del hash te sería muy útil en este caso por lo sencillo que es de acceder.
  #3 (permalink)  
Antiguo 11/07/2014, 11:40
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 7 meses
Puntos: 27
Respuesta: Sombrear botón de acuerdo a url

Si podría, pero me gusta usar un archivo independiente donde guardo el menú y posteriormente sólo lo llamo en cada página.

Por ejemplo, tengo un archivo llamado menu.php

y luego lo llamo como:

Código PHP:
<?php include("template/menu.php"); ?>
así si hago algún cambio de dirección por ejemplo, sólo cambio una vez.

así mismo, con los scripts, los llamo una sola vez y están en un archivo aparte.

No entendí lo del hash ¿a que te refieres?

Saludos!!
  #4 (permalink)  
Antiguo 11/07/2014, 11:42
 
Fecha de Ingreso: junio-2014
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Sombrear botón de acuerdo a url

El problema que puedo ver es que al cambiar la dirección Url no concuerda y lógicamente no funciona (tal como has dicho tu), yo haría esto:

Código Javascript:
Ver original
  1. /*Modificamos las primera líneas del código */
  2. var url = document.URL;
  3. url = url.split("?");      // Obtenemos la url actual
  4. url = url[0];

De esta manera siempre cogeremos la url correcta, haya o no haya "id=x". Si no te funciona correctamente, ya dices.

Saludos.
  #5 (permalink)  
Antiguo 11/07/2014, 11:50
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 7 meses
Puntos: 27
Respuesta: Sombrear botón de acuerdo a url

Sí, funcionó con la función split. Algo tan simple :o

hecbaal, PHPeros muchas gracias por sus comentarios y ayuda! ya está solucionado!!

Que tengan un buen día!!

Etiquetas: acuerdo, url
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:13.