Как отследить изменения размеров окна, через Jquery? [как обработчику клика вести себя по разному для разной ширины окна браузера?]


#1

Как сделать, чтобы кнопка поменяла цикл, не перезагружая страницу? У меня есть кнопка, мне нужно, если я поменяю ширину окна, цикл также поменяется.


#2

Вопрос не понятен. В примере нет никакого цикла. Опиши пошагово как выглядит желаемое поведение.


#3

У меня есть кнопка, я хочу, чтобы при клике на одной ширине окна, она переносила на 100px, а на другой ширене, на 1000px, но чтобы это работало нужно постоянно перезагружаты страницу. Как избежать перегрузки. Надо, чтобы при уменьшении окна кнопка переносила на разную ширену, без перезагрузикы.


#4

Нужно брать ширину экрана в момент клика, проверять больше или меньше она 1000 пикселей и прокручивать экран на соответствующее количество пикселей.

$("#but").click(function() {
	var windowWidth = $(window).width()
	var scrollAmount = windowWidth > 1000 ? 100 : 1100
	$("html").animate({
		scrollTop: scrollAmount
	}, 1000);
});


#5

Ок спасибо, выручили)


#6

Еще один вопрос. Откуда берется ширина окна при которой функция будет переносить на 100px или на 1000px?


#7

Ты (давай сразу на “ты”) имеешь в виду откуда берется значение этой переменной?


#8

ага


#9

В нее записывается результат вот этого выражения

это тернарный оператор https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Условный_оператор.

Иначе этот же код можно было бы написать if-ами:

var scrollAmount
if (windowWidth > 1000) {
	scrollAmount = 100
} else {
	scrollAmount = 1100
}

#10

А вот сейчас понял, спасибо)