$ (window) .scroll () Цикл, из-за отсутствия переменной

0

У меня есть немного проблемы; У меня есть этот код:

  $(window).scroll(function(){
    if ($(document).scrollTop() >= $('.services-container').offset().top-80) {
      alert("test");
    }
  });

Теперь все работает нормально, за исключением того, что мне нужно запустить оператор if один раз, я пробовал переменные, но я не могу заставить их не переустанавливать предыдущее состояние из-за цикла прокрутки окна... любая помощь?

  • 0
    Здравствуйте, не могли бы вы быть более точным? Вы можете опубликовать скрипку ?
Теги:

3 ответа

0

Вы можете попробовать с некоторым флагом:

var flag = true;

$(window).scroll(function() {
    if ($(document).scrollTop() >= $('.services-container').offset().top-80 && flag) {
       alert("test");
       flag = false;
    }
});

Демо-скрипт

  • 0
    Тем не менее, похоже, что каждый раз переменная меняется на true.
  • 0
    К сожалению, предупреждение продолжает изменять его из-за готовности документа? Я думаю, я удалил предупреждение и проверил в режиме отладки, и кажется, что он не сбрасывается :) спасибо, ребята!
Показать ещё 1 комментарий
0

Попробуй это:

var flag = true;
$(window).scroll(
    function() {
        if ($(document).scrollTop() >= $('.services-container').offset().top-80 && flag) {
            flag = false;
            alert("test");
        }
    }
);
0

Вы можете использовать;

var enabled = true;
$(window).scroll(
    function() {
        if ($(document).scrollTop() >= $('.services-container').offset().top-80 && enabled) {
            alert("test");
            enabled = false;
        }
    }
);

Здесь работает jsFiddle.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню