私はmasonry.jsでビューを調整するために関数pinterest_it()
を使用しています。ページが完全にロードされ、コンテンツが表示されるまで別の関数recipeLoader()
を使用しています。これはページの更新時に機能しますが、ajaxを使用してコンテンツを読み込むと、私の$(window).load(...)
関数は決して起動しません。すべての後に、完全に負荷を関数呼び出しを行うことができますどのようにjQuery:ajaxが完全にレンダリングされた後に関数を呼び出す
(.readyない)
function pinterest_it() {
$(".loader").show(); # shows loading icon
$("#recipe-index").css("opacity", 0); # makes content invisible
if ($(document).innerWidth() < 991) {
gutter = 0
} else {
gutter = 16
}
var $grid = $('.grid').imagesLoaded(function() {
var $blah = $('.grid').masonry({
itemSelector: '.grid-item',
columnWidth: function(containerWidth) {
return $('.grid-sizer').width();
},
percentPosition: true,
gutterWidth: gutter
});
}, fixGrid())
recipeLoader(); # see below
}
function recipeLoader() {
console.log("recipe loader")
$(window).load(function() { # doesn't fire after Ajax completes!
console.log("loaded")
$(".loader").hide(); # hides loading icon
$("#recipe-index").animate({
opacity: 1 # shows content
}, 400);
});
}
# one of the Ajax function that calls pinterest_it()
$(".togglebutton input").click(function() {
console.log($(this).serialize());
$.get(this.action, $('#recipes_search').serialize(), function() {
pinterest_it();
}, 'script')
});
私は運だけでなく、ajaxComplete()
なしで$(x).ready(...)
を試してみました。おそらく、関数であることを可能にするために、ウィンドウではなく特定の要素に$(x).load(...)
を使用するいくつかの方法がありますか?私は$("#recipe-index")
でそれを呼び出そうとしましたが、それもうまくいきませんでした。
を.LOAD関数呼び出しが完了し、ウィンドウが完全にロードされたとき。 –
私のコンソールを見ると、200件のリクエストが完了しています。それが完了したら、私の関数(あなたの場合はhandlePageRefresh())を呼び出したい –