Я пытаюсь обработать анимацию при наведении курсора мыши, и у меня есть утверждение, которое не оценивается как true, когда вы наводите курсор мыши на элемент, над которым вы ранее навели курсор мыши. Я пытаюсь предотвратить анимацию двойного ролловера. Вот мой код:
var $chosenThumb = null;
var $lastThumb = null;
$('.thumb_img').mouseover(function(){
if ($chosenThumb != null){
$lastThumb = $chosenThumb;
$lastThumbContainer = $chosenThumb.parent();
$lastThumbOverlay = $lastThumbContainer.children('.thumb_overlay');
}
$chosenThumb = $(this);
console.log($lastThumb + "|" + $chosenThumb + "|" + ($lastThumb == $chosenThumb));
$chosenThumbContainer = $(this).parent();
$chosenThumbOverlay = $chosenThumbContainer.children('.thumb_overlay');
if ($lastThumb != null && $lastThumb != $chosenThumb){
$lastThumbOverlay.animate({ 'height' : '0px'}, 200);
$lastThumbContainer.children('.thumb_plus').animate({'height' :'0px', 'width' : '0px' },200);
}
if ($lastThumb != $chosenThumb) {
$chosenThumbOverlay.animate({ 'height' : '30px'}, 200);
$chosenThumbContainer.children('.thumb_plus').animate({'height' :'31px', 'width' : '31px' },200);
}
});
Таким образом, когда вы в первый раз наводите курсор мыши на миниатюру, lastThumb будет иметь значение null, а selectedThumb будет большим пальцем, который вы перевернули. Затем в следующий раз, когда вы наведете курсор на этот большой палец, lastThumb должен быть равен selectedThumb, но оператор log не оценивается как true. Почему?