Foros del Web » Programando para Internet » Javascript »

Cómo bloquear un link?

Estas en el tema de Cómo bloquear un link? en el foro de Javascript en Foros del Web. Hola. Mi pregunta a todos y todas las cibernautas es de cómo hacer mediante javascript que un link funcione clickando antes en varios enlaces , ...
  #1 (permalink)  
Antiguo 21/06/2011, 08:36
 
Fecha de Ingreso: junio-2011
Ubicación: España
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Cómo bloquear un link?

Hola. Mi pregunta a todos y todas las cibernautas es de cómo hacer mediante javascript que un link funcione clickando antes en varios enlaces, es decir, que el link que yo pongo esté bloqueado hasta que el usuario haga click en todos los anteriores enlaces que haya puesto. Graciaas!
  #2 (permalink)  
Antiguo 21/06/2011, 12:14
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Cómo bloquear un link?

Tendrías que comprobar si los links han sido clickeados, por ejemplo agregarle un atributo a los que ya lo estén.
Un ejemplo. La función active(param1,param2) . El param1 contiene actGoogle (links con el atributo rel="actGoogle" que tienen que clickearse para activar el link Google), param 2 googleLink (Id del link Google)
Código HTML:
<style>
a.disabled {color:#999}
</style>
Links para activar Google.com
<a href="#" rel="actGoogle">Link 1</a>
<a href="#" rel="actGoogle">Link 2</a>
<a href="#" rel="actGoogle">Link 3</a>

<a href="http://www.google.com" id="googleLink" target="_blank">Google.com</a> 
Código Javascript:
Ver original
  1. <script>
  2. function active(quien,donde){
  3.     var d = document, a = d.getElementsByTagName("a"), Q = d.getElementById(donde), i,l;
  4.     var Links = function(fn){
  5.         for(i=0,l=a.length;i<l;i++){
  6.             if(a[i].tagName == 'A' && a[i].getAttribute("rel") == quien) fn(a[i])
  7.         }
  8.     }
  9.     Q.className = 'disabled'
  10.     Q.onclick = function(){return false}
  11.     Links(function(el){
  12.         el.onclick = function(){
  13.             this.act = 1; var all = 1
  14.             Links(function(el2){ if(!el2.act) all = 0})
  15.             if(all){
  16.                 Q.className = '';
  17.                 Q.onclick = function(){return true}
  18.             }
  19.         }
  20.     })
  21.  
  22. }
  23.  
  24. active("actGoogle","googleLink")
  25. </script>
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #3 (permalink)  
Antiguo 21/06/2011, 23:17
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Cómo bloquear un link?

en jQuery

Código Javascript:
Ver original
  1. $(".requeridosAntes").click(function(){
  2.     $(this).attr("rel","ya")
  3. })
  4.  
  5. $("#linkImportante").click(function(){
  6.    if($(".requeridosAntes").length != $("[rel='ya']").length){
  7.      return false;
  8.   }
  9. })
  #4 (permalink)  
Antiguo 22/06/2011, 06:47
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Cómo bloquear un link?

No siempre hay que depender de Frameworks, si no no se aprende nada. jQuery tiene sus respectivos foros.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #5 (permalink)  
Antiguo 22/06/2011, 07:44
 
Fecha de Ingreso: junio-2011
Ubicación: España
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Cómo bloquear un link?

Cita:
Iniciado por America|UNK Ver Mensaje
Tendrías que comprobar si los links han sido clickeados, por ejemplo agregarle un atributo a los que ya lo estén.
Un ejemplo. La función active(param1,param2) . El param1 contiene actGoogle (links con el atributo rel="actGoogle" que tienen que clickearse para activar el link Google), param 2 googleLink (Id del link Google)
Código HTML:
<style>
a.disabled {color:#999}
</style>
Links para activar Google.com
<a href="#" rel="actGoogle">Link 1</a>
<a href="#" rel="actGoogle">Link 2</a>
<a href="#" rel="actGoogle">Link 3</a>

<a href="http://www.google.com" id="googleLink" target="_blank">Google.com</a> 
Código Javascript:
Ver original
  1. <script>
  2. function active(quien,donde){
  3.     var d = document, a = d.getElementsByTagName("a"), Q = d.getElementById(donde), i,l;
  4.     var Links = function(fn){
  5.         for(i=0,l=a.length;i<l;i++){
  6.             if(a[i].tagName == 'A' && a[i].getAttribute("rel") == quien) fn(a[i])
  7.         }
  8.     }
  9.     Q.className = 'disabled'
  10.     Q.onclick = function(){return false}
  11.     Links(function(el){
  12.         el.onclick = function(){
  13.             this.act = 1; var all = 1
  14.             Links(function(el2){ if(!el2.act) all = 0})
  15.             if(all){
  16.                 Q.className = '';
  17.                 Q.onclick = function(){return true}
  18.             }
  19.         }
  20.     })
  21.  
  22. }
  23.  
  24. active("actGoogle","googleLink")
  25. </script>
Gracias, me funcionó. Lo llevaba buscando mucho tiempo, hasta que apareciste tú ;)

PD: Tienes Taringa? Te daría puntillos.

Etiquetas: bloquear, link
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 22:27.