Настроить выпадающее меню, чтобы высший уровень оставался выделенным - PullRequest
1 голос
/ 04 марта 2011

Я использую этот код выпадающего меню: http://javascript -array.com / scripts / jquery_simple_drop_down_menu / и пытаюсь (безуспешно) держать верхний уровень подсвеченным, даже когда мышь двигаетсявплоть до нижних ссылок в выпадающем меню.

HTML:

<ul id="jsddm">
    <li><a href="#">JavaScript</a>
        <ul>
            <li><a href="#">Drop Down Menu</a></li>
            <li><a href="#">jQuery Plugin</a></li>
            <li><a href="#">Ajax Navigation</a></li>
        </ul>
    </li>
    <li><a href="#">Effect</a>
        <ul>
            <li><a href="#">Slide Effect</a></li>
            <li><a href="#">Fade Effect</a></li>
            <li><a href="#">Opacity Mode</a></li>
            <li><a href="#">Drop Shadow</a></li>
            <li><a href="#">Semitransparent</a></li>
        </ul>
    </li>
    <li><a href="#">Navigation</a></li>
    <li><a href="#">HTML/CSS</a></li>
    <li><a href="#">Help</a></li>
</ul>

Оригинальный Javascript:

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#jsddm > li').bind('mouseover', jsddm_open)
   $('#jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;

PS Три приветствия парню, который написал этоМне это нравится, я держу мой HTML в чистоте и легко обновляю.

1 Ответ

3 голосов
/ 05 марта 2011

Добавить

ul li:hover {
  background:...
}

В вашей таблице стилей и вы должны получить желаемый эффект.потому что ваше подменю вложено в ваш элемент списка - при наведении курсора на ваше подменю вы все еще эффективно зависаете над его родителем (элементом списка).

Вы можете оставить указатель мыши на улье - если хотите, но это не сохранит ваши стили, так как подменю не вложено в него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...