2011-12-14 3 views
0

У меня возникли проблемы с обнаружением проблемы, когда this jQuery menu ломается при наведении курсора между тремя основными вкладками. Меню работает, если я нахожусь, а затем наведите указатель мыши на весь путь до выбора другой вкладки ... Я думаю, что проблема может быть связана с областью действия переменной (называемой «n» в jQuery) или методом setTimeout() ,Меню навигации jQuery с помощью setTimeout, mouseenter, mouseleave

ответ

0

Да, используйте var n = ... вместо n = ..., чтобы создать локальную переменную.

Способ, которым вы в настоящее время обращаетесь к переменной n, как строка, вычисляемая после таймаута, требует, однако, глобальной переменной. Это лучше, если вы определили его как функцию, которая может привлечь на переменные из локальной области видимости:

setTimeout(function() { $(n).hide(); }, 150); 

Demo

+0

@won: хмм, я не уверен, что я следую ... в моем примере это локальная переменная во всех случаях ...? –

+0

Извините, мой первый комментарий был в ответ на ваш ответ, прежде чем вы включили второй абзац/демо. Благодаря! – wonderkernel