elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Desarrollo Web / Re: JS - Cambiar texto de button. en: 27 Agosto 2017, 06:31 am
Respondo mi propio post para publicar lo que he hecho al final. Por si alguien en un futuro ve el post y tiene el mismo problema.

Bueno, pues lo único que he hecho es asignar un setTimeout para que el texto del button se cambie cuando el div (el que contiene el contenido que se va a visualizar y a ocultar) se cargue.

Esto lo he hecho así porque el diseño está hecho con bootstrap con lo cual yo no controlo en el código que se muestre y se oculte el div (eso esta controlado en el .js del bootstrap).


Así quedaría la segunda parte del código (la única que he cambiado):
Citar
// -- BOTÓN LEER MÁS --
   function mostrarInfo() {
      if($("#btn-mas-info").html() == "Leer más"){
         setTimeout(function(){
            $("#btn-mas-info").html("Ocultar");
         }, 310);
      }
      else {
         setTimeout(function(){
            $("#btn-mas-info").html("Leer más");
         }, 310);
      }
   }
2  Programación / Desarrollo Web / JS - Cambiar texto de button. en: 26 Agosto 2017, 23:24 pm
Muy buenas.

Tengo el siguiente código html (usando bootstrap):

Citar
<a href="#mas-info" class="btn btn-lg btn-default btn-mas-info" data-toggle="collapse" id="btn-mas-info">Leer más</a>

         <div class="collapse" id="mas-info">
            <div class="well">
               <p>
                  En misecu, podrás encontrar antiguos compañeros de escuela, publicar tus anécdotas vividas en tu centro escolar y estar entre los más votados del ranking de publicaciones.
               </p>
            </div>
         </div>

Y el siguiente código javascript:

Citar
$(function(){


   // -- BOTÓN LEER MÁS --
   $("#btn-mas-info").click(mostrarInfo);


});

// -- BOTÓN LEER MÁS --
   function mostrarInfo() {
      if($("#btn-mas-info").html() == "Leer más"){
         $("#btn-mas-info").html("Ocultar");
      }
      else {
         $("#btn-mas-info").html("Leer más");
      }
   }

Mi duda es:

Al pulsar el botón, el texto del botón cambiará a "Ocultar" y se mostrará el div que estaba oculto y contiene más información.

El problema que tengo es que si ese botón lo pulso antes de que se muestre del todo ese div, cuando el div ya esté mostrado, el texto del botón sera "Leer más".

Es decir, me gustaría saber cómo deshabilitar el evento click hasta que el div haya finalizado de mostrarse u ocultarse.

He probado utilizando bind y unbind, pero no me sale. Mi gran duda es cómo hacer esto, ya que yo no controlo que ese div se muestre y se oculte, eso lo controla el propio bootstrap.

Espero haberme explicado bien. Ojalá puedan ayudarme.

Un saludo.

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines