Вход

Просмотр полной версии : Откат изменений + объединение двух функций


emptyindorill
16.02.2017, 16:47
Здравствуйте.

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

Причём при ресайзе на увеличение функция должна откатывать изменения.

Основу набросал:


$(window).resize(function() {
if ($(window).width() < 810) {
$("body").addClass("etc");
$("#bmm").appendTo("#page");
} else {

}
});


Думаю вам всё ясно)

Без $(window).resize(function() - не то что надо. А с ресайзом - по умолчанию при меньше 810 ничего не происходит пока не изменишь размер окна.

Пробовал через $(!window).resize(function() и указание обратного в else, ничего не получилось.

Уважаемые знатоки, подскажите пожалуйста, каким образом такое можно реализовать?

Заранее большое спасибо.

рони
16.02.2017, 17:08
emptyindorill,
а запустить resize без пока не изменишь размер окна. слабо?
для медитации
http://javascript.ru/forum/jquery/67255-kak-poluchit-znachenie-polozheniya-scroll-posle-obnovleniya-stranicy.html#post443420

emptyindorill
16.02.2017, 17:22
emptyindorill,
а запустить resize без слабо?
для медитации
http://javascript.ru/forum/jquery/67255-kak-poluchit-znachenie-polozheniya-scroll-posle-obnovleniya-stranicy.html#post443420
Получилось, спасибо большое, буду иметь ввиду.

А откатывать изменения при ресайзе на увеличение?

(такой вариант выполнения функции как правильно называется? возврат функции?)

рони
16.02.2017, 17:26
emptyindorill,
не понимаю что вы написали

emptyindorill
16.02.2017, 17:33
Я имею ввиду следующее:

Есть функция, она происходит когда окно уменьшается до указанного размера.

Потом окно увеличивается до большего размера и всё что функция сделала, откатывается до первоначального состояния.

Например - я сжал окно браузера - у меня функция, например, перекрасила фон, разжал - функция вернула первоначальный вариант фона.

рони
16.02.2017, 17:51
emptyindorill,
$(function() {
$(window).resize(function() {
if ($(window).width() < 810) $("body").addClass("etc");
else $("body").removeClass("etc")
}).trigger("resize")
});

emptyindorill
17.02.2017, 08:31
emptyindorill,
$(function() {
$(window).resize(function() {
if ($(window).width() < 810) $("body").addClass("etc");
else $("body").removeClass("etc")
}).trigger("resize")
});
Хм, а у меня вот так реализовано:
$(window).resize(function() {
if ($(window).width() < 810) {
$("body").addClass("etc");
$("#bmm").appendTo("#page");
$("<div class='action'></div>").appendTo($("body.etc .row.header"));
} else {

}
}).trigger("resize");

рони
17.02.2017, 08:36
emptyindorill,
вам виднее

emptyindorill
17.02.2017, 08:52
Я в том смысле, что у меня примерно так же реализовано.
Ваш вариант работает.
Спасибо за подсказку, буду теперь его под себя переписывать.
Ещё раз спасибо.