jQuery — сохранять div в анимированном состоянии при наведении курсора мыши на другой div?

#jquery #html #jquery-animate #bind

#jquery #HTML #jquery-анимировать #привязать

Вопрос:

Я, как обычно, пробую то, что мне не по силам! Я пытаюсь создать навигацию для моего нового веб-сайта, она должна скользить вниз, когда пользователь наводит курсор на другой div. У этого другого div будет какая-то графика с надписью «menu». Мне нужно, чтобы навигация оставалась открытой при наведении курсора на «другой» div или сам раздел меню. Пока у меня это работает, но в div меню находится внутри, что на самом деле не совсем правильно.

Есть ли какой-нибудь способ связать эти два div вместе или что-то в этом роде? Хотел бы я быть лучше в jQuery!

Мой сайт находится здесь, если вы хотите взглянуть. Белый div представляет div, на который пользователь должен навести курсор, чтобы открыть меню.

Любая помощь приветствуется, спасибо: D

Комментарии:

1. через минуту я создам для тебя скрипку

2. 1 за использование «пока» в вопросе.

Ответ №1:

Вот рабочая скрипка: http://jsfiddle.net/maniator/dpBBp /

вот обновленный js:

 $('.menu_button').hover(function() {
    $('#nav').slideDown();
}, function() {
    $('#nav').slideUp();
})
  

Смотрите html в скрипке.

Комментарии:

1. Спасибо, Нил, просто взглянул. Обожаю случайное изображение кошки!

2. @Dan если это тот ответ, который вы ищете, или если есть другой, не забудьте выбрать его как accepted

3. @pixelbobby спасибо ^_^ положительные отзывы сегодня для меня больше ничего не значат, лол. я на пределе. теперь я хочу несколько принятых ответов: -p

4. Не волнуйся, я не забуду. Сейчас я меняю код. Хостинг немного тормозит, что не помогает делу…

5. @pixelbobby лол, я не видел этого комментария, пока не опубликовал комментарий к другому Q, ха-ха

Ответ №2:

Поместите все элементы в div и настройте таргетинг на этот div. Что-то вроде этого:

 <ul>
    <li>
        <a href='#'>Nav Item</a>
        <div style='display:none;'>
            <ul>
                <li>Sub nav 1</li>
            </ul>
        </div>

    </li>

</ul>

<script>
$("ul > li").hover(function(){
    //on roll over
}, function(){
    //on roll out
});
</script>  

Кстати, на вашем сайте вы должны использовать спрайты в качестве фоновых изображений и переключать положение фона при наведении курсора, это избавит от скачка при наведении курсора на элементы.

Комментарии:

1. Да, это есть в списке дел. Мне нужно заново вырезать фоновые изображения рядом друг с другом, чтобы при наведении курсора не было времени загрузки. Я просто расслабляюсь: P