59 votes

jQuery / Twitter Bouton de chargement du texte de chargement de données avec délai

Je vais essayer d'obtenir cet exemple précis de travail sur mon site:

http://getbootstrap.com/2.3.2/javascript.html#buttons

Cependant, incluant simplement ce code HTML:

<button type="button" class="btn btn-primary" data-loading-text="Loading...">Loading state</button>

Ne fonctionne pas. Je suis en cours d'exécution jQuery 1.7.x et ont chargé le Bootstrap, fichiers JS.

Pour être précis: je veux que le bouton pour passer à la "chargement" changement de texte pour un léger retard, puis revenir en arrière pour le texte normal. Il ne semble pas être un bon exemple disponible en ligne à partir de mes recherches sur Google (la plupart sont demander un permanent de modification de l'état ou de la bascule), et le fichier de Bootstrap site lui-même est manquant dans la documentation ici.

103voto

msc Points 2448

Dans la page de documentation, un fichier en cours de chargement appelé application.js est en cours de chargement. http://twitter.github.com/bootstrap/assets/js/application.js

 // button state demo
$('#fat-btn')
    .click(function () {
        var btn = $(this)
        btn.button('loading')
        setTimeout(function () {
            btn.button('reset')
        }, 3000)
    });
 

21voto

Geoff Wells Points 161

Ou simplement ajoutez ceci pour qu'il récupère l'attribut Twitter Bootstrap.

 $('button[data-loading-text]').click(function () {
    $(this).button('loading');
});
 

6voto

user1837332 Points 51

Notez comment la réponse acceptée a converti l'objet bouton jQuery en une variable js avant d'exécuter le bouton ('chargement') dessus, car, tant que cela fonctionne, le bouton ('chargement') ne fonctionnera pas s'il est utilisé directement sur l'objet bouton jQuery. .

2voto

Diego Torres Points 1

il suffit d'inclure la bibliothèque de démarrage:

 <script src="http://twitter.github.com/bootstrap/assets/js/bootstrap.js "></script>
 

Ceci est un exemple:

 <!DOCTYPE html>
<HTML>
<HEAD>
    <TITLE>Bootstrap Example</TITLE>
    <link type="text/css" rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css ">
<STYLE>
</STYLE>
</HEAD>
<BODY>
    <button type="button" class="btn btn-primary" id="btnD" data-loading-text="=)">hola!!!</button>


    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="http://twitter.github.com/bootstrap/assets/js/bootstrap.js "></script>
    <script type="text/javascript">
        $(function(){
            $('#btnD').click(function(){
                  var btn = $(this); 
                  btn.button('loading');
            });
        });
    </script>
</BODY>
</HTML>
 

1voto

dsd Points 1

De plus, jquery a la méthode .delay () qui peut être plus facile à utiliser que setTimeout.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X