Stas-ik,
Еще раз: - Перенесите открытие темного фона по наведению(.mouseenter/mouseleave) на родитель!! (<div class="menuholder"> или <ul class="menu slide">) На li только квадраты с инвентарем! )без фона |
Это при наведении
function openMenu(){
$('.back').animate({"height":"500px"},'1000');
}
$('.menuholder').mousenter(function(){
timeout = setTimeout(openMenu, 500);
});
$('.menuholder').mouseleave(clearTime(function(){
clearTimeout(timeout);
}),500);
Это по клику: <div class="menuholder" onclick(openMenu());>...</div>
function openMenu(){
$('.back').animate({"height":"500px"},'1000');
}
function closeMenu(){
$('.back').animate({"height":"0px"},'1000');
}
$('.menuholder').mouseleave(closeMenu());
Ну и измените с учётом правок Deff |
Sober_exe,
Сделано не верно - фон должен быть при наведении на само меню, а не на конкретный пункт у Вас же он убирается при переходе с пункта на пункт(а курсор находиться в меню Т.е анимации две 1. Для наведения на контейнер с Li = показываем тёмный фон 2. При наведении на конкретный Li - открываем ивентарь(фона там у же нет, он открыт на родителе) |
Deff, я не влезал в то КАК это должно отображаться, а показал как написать скрипт, если не тупо копипастить, то схема понятна и поменять на своё. Я даже дописал, что с учётом правок ваших.
|
$('.listdelay').click(function(){
$(this).addClass('onhover2').addClass('onhover');
})
$('.listdelay').hover(
function(){
var List = $(this);
$(this).addClass('onhover2');
setTimeout(function(){
if ( List.hasClass("onhover2") ) {
List.addClass('onhover');
}
}, 300);
},
function(){
var List = $(this);
List.removeClass('onhover');
List.removeClass('onhover2');
});
соответстственно, показ нужного элемента можно сделать так: .onhover.onhover2 div{ display :block; } |
| Часовой пояс GMT +3, время: 07:17. |