2013-04-17 4 views
-1

У меня есть простая кнопка, которая отображает список при наведении.Наведите указатель мыши на hover()

Working example

мне просто нужно навести содержимое списка, как выпадающее меню. Как добавить скрипт для выполнения этой функции?

HTML

<button id="test">Hover Me</button> 
<ul class="tester"> 
    <li>Menu 1</li> 
    <li>Menu 2</li> 
    <li>Menu 3</li> 
    <li>Menu 4</li> 
    <li>Menu 5</li> 
    <li>Menu 6</li> 
    <li>Menu 7</li> 
    <li>Menu 8</li> 
</ul> 

Script

$(document).ready(function() { 

    $("#test").hover(
     function() { 
      $('.tester').slideDown(500); 
     }, 
     function() { 
      $('.tester').slideUp(500); 
     }); 
    }); 
+0

Это будет легко выполнить, если мы получим код. –

+0

@ The-Val я добавил свой код, чтобы решить эту проблему, если вы можете – Jhonny

+0

Большое вам спасибо –

ответ

1

Вместо использования .hover(), используйте .mouseenter() на кнопке, чтобы открыть меню, и .mouseleave() в меню, чтобы скрыть его снова.

$(document).ready(function(){ 

    $("#test").mouseenter(function() { 
    $('.tester').show(); 
    }); 

    $('.tester').mouseleave(function() { 
    $(this).hide(); 
    }); 

}); 

Редактировать вашего jsbin здесь: http://jsbin.com/iroxop/1/edit

+0

Проблема в том, что мне также нужна функция SlideUp, когда я покидаю кнопку (в другом месте кроме списка) – Jhonny

+0

Хорошо добавьте слайд-шоу fn в этот код whats problem inthat @Jhonny – Dolo

0

ли Вы хотите сделать, как это?

Fiddle

http://jsfiddle.net/EpV87/25/

просто использовали slideUp() и slideDown()

+0

Да почти, но когда я оставляю кнопку (вместо того, чтобы входить в ul, я перемещаю свой курсор в какой-то другой, где он должен скрываться) – Jhonny

+0

Я обновил Fiddle @Jhonny, посмотрю на это http: //jsfiddle.net/EpV87/25/, прямо сейчас я использовал 'show()' и 'hide()' вы можете заменить его в соответствии с вашим требованием –

0

Я только изменил код Скотти для вашего требования

$(document).ready(function(){ 

     $("#test").mouseenter(function() { 
    $('.tester').slideDown(500); 
     }); 

     $('.tester').mouseleave(function() { 
     $(this).slideUp(500); 
     }); 

    }); 

http://jsfiddle.net/dolours/mTa6j/

+0

Дорогой такой же друг ошибки, проблема в том, что мне также нужна функция SlideUp, когда i оставьте кнопку (если я перемещаю курсор где-то еще отдельно от списка) – Jhonny

+0

Функция SlideUp работает, когда вы покидаете мышь Что проблема в том, что проверить fiddl е – Dolo

0

Похоже, ваша проблема заключается в том, что меню отображается при наведении курсора на кнопку, но исчезает, когда вы наводите курсор на меню. Попробуйте обернуть button и ul элементами в другом div, прикрепите функции зависания к этой обертке. Рабочий пример в этом fiddle.

$("#menu").hover(
    function() { 
     $('.tester').slideDown(500); 
    }, 
    function() { 
     $('.tester').slideUp(500); 
    } 
); 
Смежные вопросы