2014-01-15 4 views
0

Так вот краткое изложение:Modernizr.mq событие запуска несколько раз

  • У меня есть меню, которое расширяется при разрешении> 1024
  • Когда разрешение < 1024 меню превращается в капли вниз Nav

Я использую Modernizr.mq для запуска JavaScript для выпадающего меню, когда разрешение становится меньше, чем 1024.

когда вы REFR esh и не изменяйте размер браузера, меню прекрасно работает. Но как только вы измените размер браузера и снова попробуйте меню, он выйдет из строя и запускается несколько раз.

Вот пример полного просмотра страницы:

http://codepen.io/MarioD/full/aKdhG

А вот пример с кодом:

http://codepen.io/MarioD/pen/aKdhG

Любые идеи, почему функция нажмите идет все с ума, когда изменяется размер браузера? И каким-то образом это можно исправить?

Спасибо, Марио

ответ

0

ваши добавления события нажмите несколько раз - каждый smartresize из-за вызова checkMq()

просто поставить блок обработчика событий ($('.btn-menu').on('click', function(){ ... });) из функции checkMq()

В качестве альтернативы вы можете использовать jQuery.one вместо jQuery.on (http://api.jquery.com/one/)


Кстати: вам нужно подождать, когда документ будет готов. (http://api.jquery.com/ready/) , но я думаю, что codepen уже обрабатывает это.

Смежные вопросы