画像のグリッドがあります。マウスを特定の画像の上に置くと、その画像の大きいバージョンがオーバーレイになり、元のグリッド画像のバージョンが少し大きくなります。
マウスオーバーはうまく機能します。ただし、mouseoutとmouseleaveはどちらも、大きな画像を即座にフェードアウトさせます。マウスが終わっているかどうか。
function imageSize(img){
var theImage = new Image();
$(theImage).load(function() {
var imgwidth = this.width;
var imgheight = this.height;
var position = img.parent().position()
var index = img.parent().index();
///calculate top
var top = (position.top -((imgheight-img.height())/2));
var left = (position.left -((imgwidth-img.width())/2));
/// place image in img_pop
var clone;
clone = '<div class="pop_img clone'+index+'"></div>';
$(clone).insertAfter($('BODY'));
$('.pop_img.clone'+index+'').css({
'width' : img.width(),
'height' : img.height(),
'top' : position.top,
'left' : position.left,
'backgroundImage' : 'url('+theImage.src+')',
});
$('.pop_img.clone'+index+'').stop().animate({
'height' : imgheight,
'top' : top,
'width' : imgwidth,
'left' : left,
},300,'easeInOutQuad');
});
theImage.src = img.attr('src');
}
$('.am-wrapper img').live('mouseenter',function(){
imageSize($(this));
});
$('.am-wrapper img').live('mouseleave',function(){
thisIndex = $(this).parent().index();
$('.pop_img.clone'+thisIndex+'').fadeOut('200');
});
理想的には、マウスがそれぞれのグリッド画像の上にある間、オーバーレイ画像を表示したままにしておく必要があります。ユーザーが別のグリッド画像のマウスを置くと、古いオーバーレイがフェードアウトします。