2017-06-04 3 views
0

私はこのためのいくつかの解決策を見つけましたが、それは私のためには機能しませんでした。あるいは、私はそれを間違っていたかもしれません。私はJSで完全に初心者です、あなたはこの機能を遅らせるために私を助けてくれますか?JQUERYのオンロード機能を遅らせる方法

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

なぜそれを遅延させる必要がありますか?他に何かがロードされるまで待つ場合は、ロードが完了したらコールバック関数に置くべきでしょう。 – Barmar

+0

私はFacebookの埋め込みを読み込んでいます。通常、Facebookの埋め込みには時間がかかります。だからこそ遅れようとしている。コールバック機能についてはわかりません。 @Barmar –

+0

埋め込みコードの読み込みにはどのAPIを使用していますか?コールバック機能があると思います。 – Barmar

答えて

1

あなたはjavascriptののsetTimeout()を使用することができます -

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

ありがとう!出来た! –

1

使用setTimer()

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

これは、1秒のためにそれを遅らせます。

+0

申し訳ありませんが、私にとってはうまくいきませんでした。私は早くそれを試しました。なぜそれが私のために働かないのか分かりません。 –

+0

@AsifurRahmanあなたはほぼ同じ別の答えを受け入れました。唯一の違いは、私の遅れは1秒、彼は2秒です。 – Barmar

0

アプローチは、プラグインをロードするのを待つだけにしてあなたの関数を呼び出すようにする必要があります。

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

// In your onload handler 
FB.Event.subscribe('xfbml.render', finished_rendering); 
関連する問題