У меня возникли проблемы с обнаружением проблемы, когда this jQuery menu ломается при наведении курсора между тремя основными вкладками. Меню работает, если я нахожусь, а затем наведите указатель мыши на весь путь до выбора другой вкладки ... Я думаю, что проблема может быть связана с областью действия переменной (называемой «n» в jQuery) или методом setTimeout() ,Меню навигации jQuery с помощью setTimeout, mouseenter, mouseleave
0
A
ответ
0
Да, используйте var n = ...
вместо n = ...
, чтобы создать локальную переменную.
Способ, которым вы в настоящее время обращаетесь к переменной n
, как строка, вычисляемая после таймаута, требует, однако, глобальной переменной. Это лучше, если вы определили его как функцию, которая может привлечь на переменные из локальной области видимости:
setTimeout(function() { $(n).hide(); }, 150);
@won: хмм, я не уверен, что я следую ... в моем примере это локальная переменная во всех случаях ...? –
Извините, мой первый комментарий был в ответ на ваш ответ, прежде чем вы включили второй абзац/демо. Благодаря! – wonderkernel