У меня есть сценарий, который анимирует мое меню ul element при наведении. Он также создает фоновый элемент для ul. Я сделал этот сценарий:jQuery hoverintent создание и удаление элемента
jQuery(document).ready(function($) {
$(".main-navigation ul:first > li").hoverIntent({
sensitivity: 1,
interval: 100,
timeout: 400,
over: function() {
if ($(this).children().length > 1) {
$(this).parent().prepend('<div class="sub-nav" style="position: absolute; top: 0px; left: 250px; display: block; opacity: 1;"></div>');
$(this).children("ul").css({
"display" : "block",
"left" : "250px",
}).stop().animate({
top: '-50px',
opacity: 1,
}, 500)
}},
out: function() {
$(".sub-nav").remove();
$(this).children("ul").stop().animate({
"top" : "-500px",
"opacity": 0,
}, 500).css({
"display" : "none",
})
}
})
});
Он работает нормально, но проблема возникает, когда я выбираю другое меню, которое находится ниже этого. Итак, у меня есть два меню с подменю. Если я выбираю separetly, каждый из них работает нормально, но если я выбираю первый, а затем перехожу на другой, фоновые элементы (.sub-nav) не отображаются.
Что мне не хватает?
JS FIDDLE: http://jsfiddle.net/r8vx07ae/10/ (попытайтесь переместить курсор из пункта меню # 2 в меню пункт № 3)
Это только первая ul не первая li. Селектор> означает, что он выбирает onyl li, родительский - ul. Он может обойтись без него, так как структура html не имеет li за пределами ul. Но я пробовал без него. Еще одна проблема. –
@Persijn. Да. Но это конкретное, потому что у него есть фон, который покрывает всю высоту экрана. –
Я расскажу вам, прежде чем придут другие люди: html поможет и фрагмент кода jsfiddle, который воспроизводит его, необходимо будет полностью помочь вам. – Persijn