2017-06-04 4 views
0

Ich habe einige Lösungen online dafür gefunden, aber konnte sie nicht für mich arbeiten lassen. Oder vielleicht habe ich es falsch gemacht. Ich bin völlig neu in JS, können Sie mir bitte helfen, diese Funktion zu verzögern?Wie verzögere ich eine JQUERY Onload-Funktion

jQuery(window).on('load', function(){ var $ = jQuery; 
var $container = $('.social_container'); 
$container.masonry({ 
     columnWidth:350, 
     gutterWidth: 355, 
     itemSelector: '.masonryImage' 
}); 
}); 
+0

Warum müssen Sie es verzögern? Wenn Sie warten möchten, bis etwas anderes geladen wird, sollten Sie es wahrscheinlich in die Callback-Funktion einfügen, wenn das Laden beendet ist. – Barmar

+0

Ich lade Facebook einbetten. Normalerweise braucht Facebook Embed Zeit zum Laden. Deshalb versuche ich zu verzögern. Ich bin mir nicht sicher über Callback-Funktion. @Barmar –

+0

Mit welcher API laden Sie die Embeds? Ich wette, es hat eine Rückruffunktion. – Barmar

Antwort

1

Sie können setTimeout() von Javascript verwenden: -

jQuery(window).on('load', function() { 
    setTimeout(function() { 
     var $ = jQuery; 
     var $container = $('.social_container'); 
     $container.masonry({ 
      columnWidth: 350, 
      gutterWidth: 355, 
      itemSelector: '.masonryImage' 
     }); 
    }, 2000); 
}); 
+0

Danke! es funktionierte! –

1

Verwenden setTimer()

jQuery(window).on('load', function() { 
    setTimer(function() { 
     var $ = jQuery; 
     var $container = $('.social_container'); 
     $container.masonry({ 
      columnWidth: 350, 
      gutterWidth: 355, 
      itemSelector: '.masonryImage' 
     }); 
    }, 1000); 
}); 

Dadurch wird es für die Verzögerung von 1 Sekunde.

+0

Tut mir leid, es hat nicht für mich funktioniert. Ich habe es schon früher ausprobiert. Ich weiß nicht, warum es nicht für mich funktioniert. –

+0

@AsifurRahman Sie haben eine andere Antwort akzeptiert, die fast identisch ist. Der einzige Unterschied ist, dass meine Verzögerung 1 Sekunde beträgt, das sind 2 Sekunden. – Barmar

0

Der Ansatz sollte für das Plug-in zu laden und erst dann rufen Sie Ihre Funktion warten sein.

var finished_rendering = function() { 
    console.log("finished rendering plugins"); 
} 

// In your onload handler 
FB.Event.subscribe('xfbml.render', finished_rendering); 
Verwandte Themen