Alguien me puede ayudar a empezar con un botón de función de tiempo de espera. Todo lo que quiero es un botón (al hacer clic) se convierte en inactivo durante 2 segundos. Después de que se active de nuevo.

  • familiarizarse con la ventana.setTimeout(funcName,milisegundos), donde se llama a un functon, que permite que el botón después de 2000ms.
InformationsquelleAutor need2nobasis | 2012-03-28

4 Comentarios

  1. 1
    <input type="button" value="click" id="click" onclick="foo(this);"/>​
    
    function foo(obj) {
        obj.disabled = true;
        setTimeout(function() {
            obj.disabled = false;
        }, 2000);
    }​

    LIVE DEMO

    window.setTimeout en MDN:

    Ejecuta un fragmento de código o de una función después de tiempo especificado.

    • Me corrija si estoy equivocado, pero desde disabled es una propiedad y no un atributo, bastante seguro de que puede (y debe) utilizar true y false como valores.
    • La nueva especificación de HTML5 si no estoy equivocado, estás en lo correcto. Updted.
    • Gracias a todos por los comentarios, muy útil como yo trato de ampliar mis js conocimiento.
  2. 1

    Empezar con:

    <button>Click me!</button>

    Agregar un evento:

    <button onClick="...">Click me!</button>

    Ahora tenemos que poner algo en lugar de que ....

    this puede ser usado para significar «el botón que se acaba de hacer clic en»

    this.disabled se puede configurar para true o false para deshabilitar (o volver a habilitar el botón.

    setTimeout(function() {...},2000); ejecuta la función anónima después de dos segundos han pasado (o tan cerca como la resolución del temporizador permite).

    De nuevo, la necesidad de poner algo en el .... Ya te he dicho cómo volver a habilitar el botón.

    Aunque, desde this no es muy confiable dentro de las funciones anónimas, es probablemente mejor para empezar con var t = this; y uso t a significar el botón.

    Con todo lo que en lugar, usted tiene:

    <button onClick="var t = this; t.disabled = true; setTimeout(function() {t.disabled = false;},2000);">Click me!</button>

    Hecho. Espero que esta explicación fue muy útil.

    PS. Para aquellos que están en contra en línea de controladores de eventos:

    1. Este es un ejemplo
    2. El OP es un principiante
    3. De una línea de evento es lo suficientemente bueno
    • A pesar de que es un principiante no debe de escritura en línea de los scripts… 🙂
    • Yo estaba a punto de comentar sobre el uso de un controlador de eventos en línea. Bien.
  3. 1

    La función setTimeout le permite especificar una función a ser llamada después de una cantidad de milisegundos que ha pasado. En este caso, me pasó en una función anónima, es decir, una función que no tiene un nombre que se utiliza para el único propósito de volver a habilitar el botón después de 2 segundos.

    var mybutton = document.getElementById("mybutton");
    mybutton.onclick = function() {
        mybutton.disabled = true;
        setTimeout(function() {
            mybutton.disabled = false;
        }, 2000);
    };​

    ejemplo

  4. 0

    Puede usar setTimeout() función en javascript. Algo así como

    <html>
    <head></head>
    <body>
    
    <input id="test" type="submit" value = "clickme" onclick="deactivatefunc()">
    <script type="text/javascript">
    
     function deactivatefunc()
     {
        var btn = document.getElementById("test");
        btn.disabled = true;
        var mytimer = setTimeout(activate,2000);
     }
    
    function  activate () {
        var btn = document.getElementById("test");
        btn.disabled = false;
    }
    </script>
    </body> 
    
    </html>

Dejar respuesta

Please enter your comment!
Please enter your name here