@gfr3

Как выполнить функцию только один раз?

Есть функция:

$(window).scroll(function() {
    var height = $(window).scrollTop();
    if(height > 777) {
        $(".div_clone").clone().appendTo(".container2");
    }
});

Как сделать, чтобы функция срабатывала один раз? Сейчас выходит, что она клонирует элемент постоянно при скроллинге.
  • Вопрос задан
  • 1398 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Снимайте обработчик события после того, как нужное действие будет выполнено:

$(window).scroll(function onScroll() {
  if ($(this).scrollTop() > 777) {
    $('.div_clone').clone().appendTo('.container2');
    $(this).off('scroll', onScroll);
  }
});
Ответ написан
wagoodoogoo
@wagoodoogoo
prestashop, webix, phalcon, vue, slim, craft cms
var isAppended = false;
$(window).scroll(function() {
var height = $(window).scrollTop();
if(height > 777 && !isAppended){
 $(".div_clone").clone().appendTo(".container2");
isAppended = true;
}
});

сделать флаг для проверки состояния, к примеру
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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