Я сделал список изображений и описаний в этой HTML структуры:предотвратить .mouseout событие от выполнения
<div class="canDo">
<p>
<img src="http://placehold.it/100x100" />
<span>Description 1</span>
</p>
<p>
<img src="http://placehold.it/100x100" />
<span>Description 2</span>
</p>
<p>
<img src="http://placehold.it/100x100" />
<span>Description 3</span>
</p>
<p></p>
</div>
Я скрываю <span>
с помощью CSS и добавьте описание в последнюю <p>
с помощью функции JQuery. Структура HTML выбрана для работы с моей отзывчивой компоновкой.
$(document).ready(function() {
$(".canDo img").mouseover(function() {
$(".canDo img").removeClass('active').addClass('fade');
$(this).addClass('active').removeClass('fade');
$(".canDo p:last-child").fadeOut(function() {
var msg = $('.canDo img.active').next('span').html()
$(".canDo p:last-child").text(msg).fadeIn();
});
})
.mouseout(function() {
setTimeout(function(){
$(".canDo img").removeClass('active fade')
$(".canDo p:last-child").fadeOut();
}, 3000);
});
});
Проблема у меня в том, что, когда я парить первый элемент, а затем второй элемент (и держать мышь на этой второй) в mouseout
функции от первого элемента выполняется, что делает замирание и текст исчезает.
Как я могу предотвратить это?
Я также сделал jsFiddle.
так .... если есть текст в нижнем окне ... и новый элемент hover'd над .. вы хотите, чтобы исчезнуть выход (ж/старый), а затем исчезают в (с новым) или просто всплывают новые? –
обновлено http://jsfiddle.net/bpd2Ldy1/ –