ページ上のコンテナを置き換えるajaxフィルタを構築しています。 コンテンツがDOMに追加された後、新しく追加されたコンテンツの各ブロックをforeachし、その高さを取得し、それぞれのブロックを最大高さに設定する必要があります。 ここではトリッキーな部分があります。コンテンツが追加されると画像はロードされないので、ブロック全体の高さを正確に計算することはできません。 ここに私のコードです。コンテンツがロードされたときにjQueryが検出する
$.ajax({
...
success: function(html) {
$('#product-pagination-container').html(html);
adjustBoxHeights();
//Sroll to products
/*
$('html,body').animate({
scrollTop: $('#product-pagination-container').offset().top},
'slow');
*/
},
error: function(err) {
console.log(err.responseText);
}
});
function adjustBoxHeights() {
var maxHeight = 0;
$('.product-grid > div, .content-top .product-layout > div, .content-bottom .product-layout > div').each(function(){
$(this).height('auto');
if (maxHeight < $(this).height()) {maxHeight = $(this).height()}
});
$('.product-grid > div, .content-top .product-layout > div, .content-bottom .product-layout > div').each(function(){
$(this).height(maxHeight);
});
}
解決策は、一定のタイムアウト後にadjustBoxHeightsを実行することですが、そのようなことはしません。
TOT秒 –
のタイムアウト後にそれを実行してください、あなたは持っていたことがありますPromiseオブジェクトを見ますか? – Catch44
@MarcoSalernoサーバーの変更により、待機する時間やネットワークの速度の変化によって遅延が選択された時間が間違っていても、画像が利用できなくなる可能性があるため、これは決して信頼できる解決策にはなりません。 –