rogerCopy
@rogerCopy

JS: $('body').append(''); как создать элемент 1 раз при начале прокрутки?

Здравствуйте, господа. Как по скроллингу (вниз) создать элемент один раз?

Если добавить в нижеприведенный код строку animated bounce (animate.css)
$('body').append('<button class="btn_up animated bounce" />');
, то видно, что при прокрутке кнопка создается бесконечно

$(window).scroll(function() {
  if ($(window).scrollTop() > 300) { //если прокрутили на 300 вниз
    $('body').append('<button class="btn_up" />'); 
  } 
  if ($(window).scrollTop() == 0) { //если прокрутили вверх до 0
    $('.btn_up').remove(); 
  }  
  $('.btn_up').click(function() {
    $('body, html').animate({'scrollTop': 0}, 500);
  });
});
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
var btnCreated = false;
$(window).scroll(function() {
  if (!btnCreated) {
    // создаем кнопку
    // ...
    btnCreated = true; // и переключаем флаг
  }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FitTech
@FitTech
Проверяйте перед созданием length элемента и если 0, то создавайте.
Ответ написан
Ваш ответ на вопрос

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

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