Почему innerWidth в JS реагирует и на высоту экрана?

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

var $window = $(window),
flexslider = { vars:{} };

function getGridSize() { 
if (window.innerWidth < 480) {
return 1
}else if (window.innerWidth < 1225) {
return 3
}else{
return 4
}
}


Когда я панель открываю в браузере devTools снизу, или просто по высоте ужимаю, окно просмотра браузера изменяется по высоте, и срабатывает это условие, но блин какого хрена? Указанно то window.innerWidth почему так?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
rockfeeler
@rockfeeler
Фронтендер, дизайнер, верстальщик-перфекционист
Да, условие стоит на window.innerWidth, но слушаешь ты по-любому window.resize, так? Как правильно заметил Владимир, у тебя выход из условия. Привяжи условие к ширине, и все будет норм:

var $window = $(window),
	flexSlider = {
		vars: {}
	};

function getGridSize() {
	var iW = $window.innerWidth();
	
	if (iW < 1225 && iW >= 480) {
		console.log('< 1225 && >= 480');
	} else if (iW < 480) {
		console.log('< 480');
	} else if (iW >= 1225) {
		console.log('>= 1225');
	}
	
	console.log(iW);
}

$window.on('resize', function() {
	getGridSize();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
HistoryART
@HistoryART
Молодой и дерзкий
Так у вас выход из конструкции return 4, в любом случае сработает условие.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы