次のような 4 つの画像のグリッドがあります。
.overlay-not-interested
各画像にカーソルを合わせるとキャンセル ボタン ( そのためのjqueryはこれです:
$('.overlay-not-interested').on("click", function(){
var movie=$(this).closest('.movie');
movie.fadeOut(500, function(){
$.get('reco_product_stream.jsp?type=replace', function(data) {
var $a = $(data).find('a');
movie.children('a').replaceWith($a);
movie.fadeIn(500);
});
});
});
問題は、イメージがフェードアウトすると、新しいイメージが表示される前に、グリッドがミリ秒間突然再配置されることです (つまり、3rs は 2 番目の場所に移動し、4 番目は 3 番目の場所に移動します)。フェッチ後は問題ありませんが、ぎくしゃくした再配置が発生するのを防ぎたいです。
グリッドの HTML は次のとおりです。
<div id="reco" class="span4">
<div class="viewport">
<ul class="overview">
<li class="movie-group">
<span class="movie"><a title="Sin city" class="movie-link"><img src="images/1.jpg" /></a></span>
<span class="movie"><a title="Annie Hall" class="movie-link"><img src="images/2.jpg" /></a></span>
<span class="movie"><a title="Madagascar 3" class="movie-link"><img src="images/3.jpg" /></a></span>
<span class="movie"><a title="As Good As It Gets" class="movie-link"><img src="images/4.jpg" /></a></span>
</li>
</ul>
</div>
</div>