2016-07-22 8 views
-3

Ich stecke fest, versucht, eine Funktion nach, sagen wir, 2 Sekunden nach dem Laden des Dokuments auszulösen.Auslösen der jquery-Funktion einige Zeit nach dem Laden des Dokuments

Die Funktion ist:

$(document).ready(function() { 
    $('.trigger').click(function (e) { 
     e.preventDefault(); 
     $.popcircle('#pops', { 
      spacing:'15px', 
      type:'full', // full, half, quad 
      offset:1.95, // 0, 1, 2, 3, 4, 5, 6, 7 or 5.1 
      ease:'easeOutElastic', 
      time:'slow' // slow, fast, 1000 
     }); 
    }); 
}); 

und ich versuchte mehrere Möglichkeiten, die ähnlich wie diese:

$(document).ready(function() { 
    setTimeout(function() { 
     e.preventDefault(); 
     $.popcircle('#pops', { 
      spacing:'15px', 
      type:'full', // full, half, quad 
      offset:1.95, // 0, 1, 2, 3, 4, 5, 6, 7 or 5.1 
      ease:'easeOutElastic', 
      time:'slow' // slow, fast, 1000 
     }  
    }, 2000); 
}); 

Aber es funktioniert einfach nicht. Ich habe einige mögliche Lösungen gelesen und ausprobiert, aber beide funktionieren nicht für mich. (?)

Irgendwelche Anhaltspunkte? Benötigen Sie weitere Informationen?

+4

_ „Aber es funktioniert einfach nicht“ _ - und Sie einfach nicht die Mühe, das Browser JS-Konsole auf Fehler zu überprüfen. Andernfalls hätte es Ihnen sofort sagen sollen, dass es kein 'e'-Objekt gibt, auf das eine Methode' preventDefault' angewendet werden könnte. Du hast hier in deiner verzögerten Funktion nicht einmal mehr mit einem Ereignis zu tun, also macht es keinen Sinn, diese Linie zu behalten. – CBroe

+0

Entschuldigung. Ich weiß nicht, wie ich es machen soll. Ich wollte niemanden ärgern. – Hip

Antwort

0

Sie haben Fehler im Code:

  1. Wie @CBroe erwähnt, gibt es keine e ist. Als Ergebnis

    Uncaught ReferenceError: e is not defined

    Sie sollten die folgende Zeile entfernen, weil es kein Ereignis mit dir zu tun hat:

    e.preventDefault(); 
    
  2. Ein Syntaxfehler in $.popcircle Funktion:

    Uncaught SyntaxError: missing) after argument list

    einfach hinzufügen a );

Als Ergebnis sollten Sie den Code wie folgt aussehen:

$(document).ready(function() { 
    setTimeout(function() { 
     $.popcircle('#pops', { 
      spacing:'15px', 
      type:'full', // full, half, quad 
      offset:1.95, // 0, 1, 2, 3, 4, 5, 6, 7 or 5.1 
      ease:'easeOutElastic', 
      time:'slow' // slow, fast, 1000 
     }); 
    }, 2000); 
}); 
+0

Ty, Alex. Funktioniert immer noch nicht. Es löst nicht die Funktion aus, die durch Klicken ausgelöst wurde. Jedenfalls, wie CBroe vorgeschlagen hat, sollte ich zuerst die richtigen Werkzeuge lernen. – Hip

+0

Entschuldigung. Ja, es funktioniert. Es kann eine Art Problem im zugehörigen jquery-Plugin geben, da es funktioniert, wenn ich die Funktion zweimal triggere, was sie tun soll. Nun erinnere ich mich, dass ich auch zweimal doppelklicken musste, bevor ich die (sichtbare Effekte der) Funktion startete. Vielen Dank. Einen schönen Tag noch! – Hip

+0

@Hip Cool, thx :) –

Verwandte Themen