У меня такое ощущение, что моя проблема - это что-то очень глупое, но я не мог это исправить. У меня есть два divs в одном контейнере, и один из них скрыт по умолчанию. Когда мышь находится над родительским div, я хочу показать скрытый div с slideDown
и скрыть другой. Он отлично работает, когда я перемещаю мышь от верхней части до нижней части, но если я перемещаю мышь снизу, она скользит вверх и вниз на некоторое время. Здесь у меня есть скрипка:jQuery mouseenter/mouseleave issue
[EDIT]
Я забыл сказать, что мне это нужно, чтобы работать с динамически создаваемой дивой.
jQuery(document).on({
mouseenter: function() {
jQuery(this).find('.msg').hide();
jQuery(this).find('.conv').slideDown(300);
}
}, ".tooltip");
jQuery(document).on({
mouseleave: function() {
jQuery(this).find('.conv').slideUp(300);
jQuery(this).find('.msg').show();
}
}, ".tooltip");
.tooltip{
width: 250px;
height: 30px;
border: 1px solid #000;
}
.conv{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="tooltip">
<div class="conv">Hello again</div>
<div class="msg">Hello world</div>
</div>
обычно рекомендуется включать соответствующий код в тело вашего сообщения, а также предоставлять ссылку jsfiddle. это гарантирует, что ваш вопрос останется актуальным в будущем, даже если ваш код больше не размещается на jsfiddle. –
Когда вы наведите указатель мыши на элемент, он сразу же скрывает '.msg', а родительский контейнер (' .tooltip') внезапно получает высоту 0, что означает, что мышь покидает элемент и запускает функцию отпуска. – JRulle
Спасибо @WoodrowBarlow, я буду помнить об этом (: – Cassandra