2016-04-26 5 views
0

Hier ist die Github Dokumentation: https://github.com/msurguy/ladda-bootstrapWie ladda-bootstrap button laden animation?

Ich versuche, meinen Code Arbeit zu machen, aber aus irgendeinem Grund wird die ladda nicht aufhören zu spinnen (Taste wird nie wieder aktiviert), auch wenn ich „Ladda.stopAll platzieren () nach dem AJAX-Anruf. Hier ist mein Code:

<button type="button" class="btn btn-lg btn-success ladda-button" data-style="expand-left" id="genPDF"><span class="ladda-label">Generate PDF</span></button> 

<script> 

    Ladda.bind('button[id=genPDF]'); 

    $('#genPDF').click(function() { 

     //Another approach I tried 
     //Ladda.bind(this); 

     var str = "tmName=" + $("#tmName").val() + 
      "&headingText=" + $("#headingText").val(); 

     $.ajax({ 
      url: "testing.php", 
      data: str, 
      cache: false, 
      success: function (data) { 
       //None of this code matters, it all works fine 
       console.log(data); 
       var container = document.getElementById("pdfContainer"); 
       var content = container.innerHTML; 
       container.innerHTML = content; 
      } 
     }); 

     //If I placed Ladda.stopAll(); here, the ladda wouldn't even 
     //START spinning upon being clicked on. 
    }); 

</script> 
+0

Ich bin gespannt, warum Sie 'Taste [ID = GenPDF]' anstelle von 'Taste # genPDF' verwendet haben – amflare

+0

@amflare Ich ging voran und ersetzt durch" Schaltfläche # genpdf ". Aber das hilft mir immer noch nicht bei der Lösung des Problems. – NoReceipt4Panda

Antwort

2

Ich glaube, das ist Ihr Problem

Ladda.bind('button[id=genPDF]'); 

Docs:

// Automatisches Auslösen der Lade Animation auf Klick

Ladda.bind ('input [type = einreichen]');

// Gleiche wie oben, aber stoppt automatisch nach zwei Sekunden

Ladda.bind ('input [type = einreichen]', {Timeout: 2000});

Wenn es heißt „automatisch das Laden Animation auf Klick auslösen“, tut es wörtlich, dass. Es lädt es, was dazu führt, dass es weiterläuft, weil du es nie gesagt hast.

+0

Ich versuche, es sofort nach der Fertigstellung von allem innerhalb des Ajax-Aufrufs zu stoppen, nicht nur basierend auf einem Timeout-Wert. Putting "Ladda.stopAll();" überhaupt gibt es gar nicht die Möglichkeit "anzufangen". – NoReceipt4Panda

+0

Platzieren Sie 'stopAll()' in 'ajax.success'. Vergessen Sie nicht, dass das 'A' in 'Ajax' für 'Asynchronous' steht, also beginnt die JS im Prinzip mit dem Ajax UND dem nächsten Code in der Datei und gibt Ihnen ca. 2 Millisekunden Zeit, dass sich das Symbol dreht . – amflare

+0

Ich habe versucht, dies früher und gerade erst realisiert, dass die Datei, die ich konvertieren wollte, war riesig, so dass es für immer dauerte. Ich ging zurück, stellte das Größenverhältnis ein und jetzt funktioniert es perfekt. Vielen Dank! – NoReceipt4Panda

Verwandte Themen