Вертикальная скользящая строка меню - PullRequest
0 голосов
/ 01 февраля 2012

Хорошо, я пытаюсь создать вертикальное скольжение, и у меня получилось, что оно работает почти так, как я хочу.Это действительно простой код.Однако есть 3 проблемы:

  • Мне нужно закрыть подменю при первой загрузке страницы
  • Если вы быстро наведите курсор на ссылки, подменю начнут скользить как сумасшедшие.Мне нужно, чтобы он был более плавным и продолжал открываться и закрываться.Она слишком чувствительна
  • Если вы наведите курсор мыши в любом месте экрана на ВЫРАВНИВАН по ссылкам, которые скользят вниз, он будет скользить.Мне нужно, чтобы он скользил только при наведении мыши на ссылку само по себе

Вот код: СПАСИБО!

<script type='text/javascript'>
$(document).ready(function(){
$("nav.main_menu li").hover(function(){
    $(this).children("ul").slideDown(500);   
},function(){
 $(this).children("ul").slideUp(300);      
});
});
</script>


<nav class="main_menu">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">News</a>
<ul class="sub-menu">
<li><a href="#">Events</a></li>
<li><a href="#">Updates</a></li>
</ul>
</li>
<li><a href="#">People</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Gallery</a>
<ul class="sub-menu">
<li><a href="#">2009</a></li>
<li><a href="#">2010</a></li>
<li><a href="#">2011</a></li>
<li><a href="#">2012</a></li>
<li><a href="#">2013</a></li>
<li><a href="#">2014</a></li>
<li><a href="#">2015</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
<li><a href="#">Bio</a></li>

                </ul>
            </nav>

1 Ответ

4 голосов
/ 01 февраля 2012
  • Чтобы закрыть подменю, либо установите CSS для них на display:none;, либо выполните $("li ul").hide(); внутри функции .ready(), прежде чем определять бит при наведении.
  • Это неприятный побочный эффект этого стиля меню при наведении курсора. Есть плагин jQuery под названием HoverIntent, который я использовал ранее, чтобы помочь этому, но в итоге я не стал делать анимацию, потому что это слишком сложно, чтобы сделать это хорошим способом.
  • Звучит так, как будто элементы li занимают гораздо большую часть страницы, чем видимые. Вы можете проверить свой CSS для них и ограничить их высоту или ширину. Пока overflow:hidden не установлено, подменю все равно должно отображаться.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...