#javascript #jquery
#javascript #jquery
Вопрос:
У меня проблемы с наведением курсора. Если вы быстро перемещаете мышь в область и из нее, запускается .show() , но не .hide() . Я не уверен, работает ли это в других браузерах, но это не в Chrome.
Вы можете увидеть пример по ссылке ниже. Я перепробовал все варианты true false с помощью .stop(), но это не работает. Я ценю вашу помощь и уверен, что просто делаю что-то глупое.
http://jsfiddle.net/glenn2223/xBgVe/2/
.stop().show('slide', {direction: 'up'}, "fast", false);
Большое спасибо за вашу помощь,
glenn2223
Комментарии:
1. отлично работает с
chrome 35.0.1916.153 m
иfirefox 31.0
2. Выполните жесткое обновление (ctrl f5) и посмотрите, работает ли это.
3. Легко воссоздать ошибку, просто нужно быстро навести курсор мыши, и событие не запускается.
4. Нет, жесткое обновление по-прежнему не доставляет радости
Ответ №1:
Я не совсем уверен, почему, но пока show()
и hide()
не работают, slideToggle
работает. Кажется, это решает вашу проблему (хотя мне пришлось удалить height: auto !important
из вашего css, потому что это переопределяло высоту jQuery).
http://jsfiddle.net/prankol57/YBsYh/
Javascript:
jQuery(function () {
$("ol.top-nav li").hover(function () {
$(this).children('div.subl').stop().slideToggle("fast");
});
});
Я полагаю, это потому, что show()
и hide()
не вызывают очередь анимации.
Комментарии:
1. Это решает мою проблему. Большое спасибо. Я видел, что вы имели в виду под автоматической настройкой высоты css, это портит слайд, не так ли. Это также сокращает мой код, что всегда является бонусом. МАССИВНЫЙ ТИК!! для вас