2016-03-30 3 views
0

Новое сообщество и новое для программирования.JQuery fade in/out на прокрутке происходит только один раз

Вот что я пытаюсь сделать, я хочу, чтобы изображение затухало, когда вы прокручиваете вниз до 1000 на веб-странице, а затем исчезаете при прокрутке назад. Эта часть его работает отлично. Но только один раз! Проблема в том, что я не могу заставить его выполнять несколько раз. Что мне не хватает, чтобы это повторялось при каждом прокрутке вверх и вниз?

$(window).bind("scroll", function() { 
    if ($(this).scrollTop() > 1000) { 
    $("#logo2").fadeIn(); 
    checkOffset(); 
    } else { 
    $("#logo2").stop().fadeOut(); 
    } 
}); 

Любая помощь приветствуется.

+0

Что в вашем файле 'checkOffset();' -функции? [This Fiddle] (https://jsfiddle.net/32eckm71/) работает просто отлично – WcPc

+0

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

+0

У меня должен быть конфликтный код где-то на моей странице, потому что, когда я удаляю все, кроме того, что у вас есть на скрипке, он работает ... – Vandy

ответ

0

Пробуйте использовать animate с opacity.

$(window).on("scroll", function() { 
    var logo = $("#logo2"); 

    logo.clearQueue(); 
    logo.stop(); 

    if ($(this).scrollTop() > 1000) { 
    logo.animate({opacity: 1}, 400); 
    } else { 
    logo.animate({opacity: 0}, 400); 
    } 
}); 

https://jsfiddle.net/32eckm71/35/

+0

Это замечательно! Спасибо огромное! Я все еще изучаю все различные функции и трюки, поэтому я ценю, что вы представляете меня чему-то новым, с которым я могу играть. – Vandy

Смежные вопросы