Я работаю на быстро реагирующем сайте и имею несколько конкретных функций, которые мне нужно запускать в определенные моменты при изменении размера окна: когда окно достигает определенной «мобильной ширины», когда он достигает определенной ширины «рабочего стола» и когда она достигает любой ширины в указанном массиве чисел (мои точки останова CSS).jQuery: функция триггера, когда ширина окна соответствует любому значению в массиве
Вот урезанная скрипка, показывающая, где я нахожусь (все прилагаемые элементы абзаца заполнители, где мои функции будут идти): http://jsfiddle.net/ygwug/
Как вы можете видеть, изменив размер окна, я получил проверку мобильного/настольного компьютера, но контрольная точка останова не работает. е код, непосредственно связанный с этим следующим образом:
var breakpoints = [320, 480, 550, 650, 720, 790, 1000, 1190];
window_w = $wind.width();
var breakpointHit = function() {
$('body').append("<p>Breakpoint was hit!</p>");
}
if ($.inArray(window_w, breakpoints) > -1) {
breakpointHit();
}
Из того, что я понимаю, $ .inArray должна возвращать -1, если значение не существует в массиве, а индекс стоимости, если она действительно существует, поэтому я использовал «> -1», чтобы определить, существует ли значение в массиве. Но поскольку я не вижу никаких синтаксических ошибок в Dev Tools, в моей логике должна быть ошибка.
Если бы кто-нибудь мог помочь мне указать мне в правильном направлении, я был бы очень признателен. Благодаря!
Пробовал ваш jsfiddle как есть - кажется, работает отлично. Точка останова ударяется. Получение окна до точной ширины для одного из ваших значений в массиве жестко, хотя :-) – Fergus
То же заключение, что и у Фергуса. Я, однако, не смог получить свое окно до этой точной ширины. – user1167442
О, извините, если это было непонятно. Я хочу, чтобы функция срабатывала, когда точка останова передавалась, так как вы изменяете размер окна более узким и более широким, вы должны увидеть несколько «Точка останова была удалена!». сообщений, распределенных между настольными/мобильными сообщениями. Прямо сейчас все, что я вижу, либо «Окно теперь мобильное». или «Окно теперь является рабочим столом». –