Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Небольшая проблема с jquery hover


Recommended Posts

Всем привет. Помогите пожалуйста разобраться с такой ситуацией. Я сделал выпадающее меню на jquery.hover. Работать оно работает, только если циклично наводить и убирать курсор, hover будет отрабатывать много раз и получается меню открывается - закрывается несколько раз. В GIF'ке  видно. 
Вот код меню: 

$(document).ready(function(){
   $('#menu-cat').hover(function(){
     $('#category-box').slideDown('fast');
   },
   function(){
     $('#category-box').slideUp('fast');
   }
);

Как от этого избавиться?

post-682736-0-18922200-1433158076_thumb.gif

Змінено користувачем nemesis009
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

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

 

Спасибо большое за подсказку на счет callback, решил проблему следующим способом :

$('#menu-cat').hover(function(){
$('#category-box').slideDown('fast');
},
function(){
$('#category-box').slideUp('fast', function(){$(this).stop(true);});
}
);

Либо с помощью CSS все сделать, без применения JavaScript.

Спасибо, тоже идея хорошая, но мне проще было сделать на яваскрипте :)

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.