Foros del Web » Programando para Internet » Jquery »

Cambiar tipo de texto al pulsar un link

Estas en el tema de Cambiar tipo de texto al pulsar un link en el foro de Jquery en Foros del Web. Buenos dias, necesito que me resuelvan una duda. Estoy haciendo una web en la que tengo varios links principales. Estos links me llevan (dentro de ...
  #1 (permalink)  
Antiguo 04/10/2013, 05:35
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Cambiar tipo de texto al pulsar un link

Buenos dias, necesito que me resuelvan una duda.

Estoy haciendo una web en la que tengo varios links principales.
Estos links me llevan (dentro de la misma página) a 3 iframes, y dependiendo del link te carga una cosa u otra en cada iframe.

Lo que sucede es que no se si es por el motivo de los iframes, el a:visited no me funciona (es como si nunca entrase a ninguna página)

Este es mi código:
Código CSS:
Ver original
  1. a {
  2.     font-family: "Tahoma", Arial, Verdana;
  3.     font-size: 11px;
  4.     color: #6a6a65;
  5.     text-decoration:none;
  6. } /*para el enlace, tal cual*/
  7. a:visited {
  8.     font-weight: bold;
  9. } /*Para cuando ha sido visitado*/
  10. a:hover {
  11.     font-weight: bold;
  12. } /*Cuando el ratón está sobre él*/

No se que hacer para que funcione.

*** lo que quiero (y no si realmente me lo aportará el a:visited) es que al pulsar un link, éste se quede marcado hasta que pulse otro de su misma categoría.

No se si me he explicado bien, si quereis os puedo pasar el link de la web y que lo veais mas o menos.

Muchas gracias. Un saludo.
  #2 (permalink)  
Antiguo 04/10/2013, 05:42
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

Os adjunto la página por si sirviese para entenderlo
http://www.borjajusdado.es/Apuntes.html
  #3 (permalink)  
Antiguo 04/10/2013, 06:23
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

conseguido al final el codigo que he puesto ha sido este
Código CSS:
Ver original
  1. a {
  2.     font-family: "Tahoma", Arial, Verdana;
  3.     font-size: 11px;
  4.     color: #6a6a65;
  5.     text-decoration:none;
  6. } /*para el enlace, tal cual*/
  7. a:visited {
  8.     font-weight: bold;
  9. } /*Para cuando ha sido visitado*/
  10. a:hover {
  11.     font-weight: bold;
  12. } /*Cuando el ratón está sobre él*/
  13. a:focus {
  14.     font-weight: bold;
  15. }
  #4 (permalink)  
Antiguo 04/10/2013, 06:30
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

NOOOO!! No esta conseguido, porque al pulsar en cualquier otro lado de la página el texto en negrita vuelve ser normal...

Porfavor AYUDAA!!

Quiero que se quede en negrita el link hasta que de a otro link de la página
  #5 (permalink)  
Antiguo 04/10/2013, 09:02
Avatar de oldie  
Fecha de Ingreso: septiembre-2013
Mensajes: 24
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Cambiar tipo de texto al pulsar un link

el iframe carga ese mismo css? o carga otro? haz que el iframe cargue el mismo css que quieres que haga la negrita con el a:visited
  #6 (permalink)  
Antiguo 05/10/2013, 05:11
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

Buenas Oldie, he hecho lo que has comentado (por que en un principio no tenia ese css en los iframes) pero no he conseguido que cambien... ¿Alguna solución posible?

Buscaría algo como piden en esta página, pero de la que tampoco he conseguido nada

http://www.domestika.org/foros/5-programacion_cliente/hilos/83790-no_consigo_que_el_link_quede_marcado_mientras_es_v isitado
  #7 (permalink)  
Antiguo 05/10/2013, 05:49
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Cambiar tipo de texto al pulsar un link

:visited no es para estilizar la página actual, sino para estilizar las páginas visitadas.
  #8 (permalink)  
Antiguo 05/10/2013, 06:00
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

Entonces hay algun metodo en css de conseguir esto¿

Estuve buscando y creia que con a:focus se podia, pero en mi caso no he podido

En esta pagina hay una solucion pero a mi no me vale porque tengo 3 iframes que cambian a la vez
http://www.forosdelweb.com/f53/cambiar-color-enlace-pagina-que-estoy-viendo-826912/

Aqui teneis un ejemplo, pero en php
http://www.forosdelweb.com/f13/resaltar-enlace-menu-363813/

Última edición por borjaj; 05/10/2013 a las 06:37
  #9 (permalink)  
Antiguo 05/10/2013, 06:52
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Cambiar tipo de texto al pulsar un link

Lo único que hay en CSS es :target, pero sólo funciona con enlaces internos —los que llevan almohadilla al final.

No hay nada para colorear el enlace actual.

Rafael sugirió una vez usar un selector de atributos:

Código CSS:
Ver original
  1. a[href="/url/actual.html"] {
  2.   color: red;
  3. }

Pero lo ideal es añadir una clase al elemento del enlace, ya sea a mano o mediante un lenguaje de lado servidor, y luego darle estilo como se haría normalmente. Es decir, que tengas algo así:

Código HTML:
Ver original
  1. <ul>
  2.   <li><a href="gato.html">Gato</a></li>
  3.   <li><a class="enlace_actual" href="perro.html">Perro</a></li>
  4.   <li><a href="mofli.html">Koala</a></li>
  5. </ul>

Y estilizas .enlace_actual con CSS.
  #10 (permalink)  
Antiguo 05/10/2013, 12:53
 
Fecha de Ingreso: agosto-2013
Mensajes: 46
Antigüedad: 10 años, 8 meses
Puntos: 12
Respuesta: Cambiar tipo de texto al pulsar un link

las pseudoclases que aplican al mismo elemento (:hover, :focus, :active) no son permanentes... en teoría
pero puede hacer que su estado se mantenga "para siempre"
[URL="http://joelb.me/blog/2012/maintaining-css-style-states-using-infinite-transition-delays/"]en ingles[/URL]
[URL="http://ksesocss.blogspot.com/2012/03/pseudoclase-css-active-persistente.html"]en español[/URL]
  #11 (permalink)  
Antiguo 06/10/2013, 06:42
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

Faillure, estoy intentando lo de la página que has puesto, pero al pasar los códigos no veo que hagan lo mismo que en el ejemplo...

Pzin, que son esos enlaces internos que comentas, no llevo mucho tiempo con la página y estoy comenzando a formarme desde hace poquito, he visto # en css pero no entiendo su significado.

Graciaas!!
  #12 (permalink)  
Antiguo 06/10/2013, 11:14
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

pzin he visto que en esta página:
http://www.forosdelweb.com/f53/como-cambiar-color-link-activo-1053368/

Tu contestaste a un usuario lo siguiente:

Tendrías que crear una nueva clase en CSS y definir el color u otros estilos que necesites, y luego mediante programación de lado servidor añades en caso de que se esté visitando esa página. No es posible hacerlo puramente mediante CSS. A menos que sean enlaces en la misma página, que seguramente no sea tu caso.


En mi caso todos los lins estan en la misma pagina porque lo que cambian son los iframes de abajo, pero la pagina sigue siendo la misma (www.borjajusdado.es)

No se si me has contestado considerando esa respuesta, pero necesito tu ayuda por favor...
  #13 (permalink)  
Antiguo 06/10/2013, 11:18
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Cambiar tipo de texto al pulsar un link

Pues ya lo tendrías que hacer con JavaScript; no recargas la página ni usas anclas y son enlaces hacia un iframe.
  #14 (permalink)  
Antiguo 07/10/2013, 03:48
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

Ya estoy mas cerca de la solución

Tengo el siguiente código:

Código HTML:
Ver original
  1. <ul>
  2.     <li><a href="#id1"><div id="id1">Block 1</div></a></li>
  3.     <li><a href="#id2"><div id="id2">Block 2</div></a></li>
  4.     <li><a href="#id3"><div id="id3">Block 3</div></a></li>
  5.     <li><a href="#id4"><div id="id4">Block 4</div></a></li>
  6. </ul>

Y el siguiente

Código CSS:
Ver original
  1. /* Add some spacing */
  2. ul, div
  3. {
  4.  
  5. }
  6.  
  7. /* Default block styles */  
  8. div
  9. {
  10.  
  11. }
  12.  
  13. /* Change its appearance when it's matched */    
  14. div:target
  15. {
  16.     border-color: #9c9c9c;     
  17.     -moz-box-shadow: 0 0 4px #9c9c9c;
  18.     -webkit-box-shadow: 0 0 4px #9c9c9c;
  19.     box-shadow: 0 0 4px #9c9c9c;
  20.     font-weight: bold;
  21. }

Bien, ahora lo que quiero es eliminar el salto que produce :target

Y tengo el siguiente codigo para ello

Código Javascript:
Ver original
  1. $("a[href^=#]").on("click", function(e) { e.preventDefault(); history.pushState({}, "", this.href); });

¿Como tengo que hacer para que se active ese codigo javascript?
  #15 (permalink)  
Antiguo 07/10/2013, 04:35
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Cambiar tipo de texto al pulsar un link

Lo muevo al foro de jQuery.

Si vas a usar JavaScript, mejor usa sólo JavaScript. No tiene sentido usar anclas, pushState() y todas esas cosas.

Sencillamente, haz algo así:

Código HTML:
Ver original
  1. <a href="algo" class="enlace_iframe">
Código Javascript:
Ver original
  1. $('.enlace_iframe').click(function(){
  2.   $('.enlace_iframe').removeClass('activo')
  3.   $(this).addClass('activo')
  4. })

Y luego creas una clase en tu CSS:

Código CSS:
Ver original
  1. .enlace_iframe.activo {
  2.   color: red;
  3. }

Edito: Y no repitas temas en el foro, no está permitido.

Última edición por pzin; 07/10/2013 a las 04:41
  #16 (permalink)  
Antiguo 07/10/2013, 05:35
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

Puff es que yo tengo ya en el link puesto este codigo y no se como complementarlo con el que me has comentado:

Código HTML:
Ver original
  1. <a href="javascript:;" onclick="deatres('/Inicio/Pagina Principal/Izquierda01.html','/Inicio/Pagina Principal/Centro01.html','/Inicio/Pagina Principal/Derecha01.html');">Página Principal</a>

El codigo sirve para abrir tres iframes a la vez

Código Javascript:
Ver original
  1. function deatres(url1, url2, url3) {
  2. parent.frame2.location.href= url1;
  3. parent.frame1.location.href= url2;
  4. parent.frame3.location.href= url3; }

Como debo incluirlo? Perdona por la ignorancia :(
  #17 (permalink)  
Antiguo 07/10/2013, 07:50
borjaj
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cambiar tipo de texto al pulsar un link

No se si la función de Javascript no me funciona, o que pasa...

He puesto el Codigo Javascript que me has dicho entre <script type='text/javascript'> y <script>

Código Javascript:
Ver original
  1. $('.enlace_iframe').click(function(){
  2.   $('.enlace_iframe').addClass('activo')
  3.   $(this).removeClass('activo')
  4. })

Luego en el CSS he puesto esto

Código CSS:
Ver original
  1. .enlace_iframe.activo {
  2.     font-family: "Tahoma", Arial, Verdana;
  3.     font-size: 11px;
  4.     color: #6a6a65;
  5.     text-decoration:none;
  6.     font-weight: bold;
  7. }

Y finalmente he puesto en el link esto

Código HTML:
Ver original
  1. <a href="javascript:;" onclick="deatres('/Inicio/Pagina Principal/Izquierda01.html','/Inicio/Pagina Principal/Centro01.html','/Inicio/Pagina Principal/Derecha01.html');" class="enlace_iframe">Página Principal</a>

¿Qué estoy haciendo mal?
  #18 (permalink)  
Antiguo 08/10/2013, 03:13
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Cambiar tipo de texto al pulsar un link

¿Tienes enlazada la librería jQuery? Como pusiste código de jQuery pensé que la tendrías puesta.

Si no es así, igual es mejor usar la función deatres() y poner ahí algo de JavaScript que añada y quite clases.

Etiquetas: color, css, hover, link, página, pulsar, tipo
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 10:59.