2014-02-13 5 views
0

Кто-нибудь знает, почему зависание над элементами ul не работает?зависание над ul не работает

http://jsfiddle.net/Samfr/5/

<ul class="navi"> 
    <li> <a class='light'> 
      Item1 
      <div class="hover-name" style="display:none"> 
       Businesses 
      </div> 
     </a> 

    </li> 
    <li> <a class='light'> 
      Item2 
      <div class="hover-name" style="display:none"> 
       Agencies 
      </div> 
     </a> 

    </li> 
    <li>    
     Item3 
     <ul class="hover-name" style="display:none"> 
      <li><a>hello</a></li> 
      <li><a>hello2</a></li> 
     </ul> 
    </li> 
</ul> 

Я пытаюсь парить над элементами в списке и имеющих другие элементы всплывают, когда завис над, но почему-то не работает, когда вы наведите курсор мыши на «зависания-имя» уль элемент в скрипке.

+0

Что именно происходит не так? –

+0

Это работает для меня :) – JunM

+0

Я не очень понятный в объяснении, извините, если вы посмотрите на скрипку, вы можете навести курсор на Item1, Item2, но не Item3 – James

ответ

4

Вам нужно применить событие парения для последнего li отдельно с момента последнего li не имеет якорь с классом light:

$('.navi > li a.light, .navi li:last-child').on("mouseover", function() { 
    $('.hover-name', this).show(); 
}).on("mouseout", function() { 
    $('.hover-name').hide(); 
}); 

Updated Fiddle


Если вы не хотите следовать выше, как в вашем комментарии, почему бы не просто нацелить ваш li вместо якоря:

$('.navi > li').on("mouseover", function() { 
    $('.hover-name', this).show(); 
}).on("mouseout", function() { 
    $('.hover-name').hide(); 
}); 

Updated Fiddle

+0

вы были быстрее +1 :) – aldanux

+0

Спасибо за ваш ответ! оно работает. Как бы это исправить, если это был не последний ребенок, как любой случайный элемент? – James

+0

@James Вы можете просто нацелить свой элемент списка вместо якоря. Проверьте мое обновление – Felix

1

удалить

a class='light' 

из 2 других элементов, а также изменить

$('.navi > li a.light') 

в

$('.navi > li') 
0

Хотя ответ Филикса хорош. Вы также можете удалить a.light из селектора:

$('.navi > li').on("mouseover", function() { 
    $('.hover-name', this).show(); 
}).on("mouseout", function() { 
    $('.hover-name').hide(); 
}); 
Смежные вопросы