2016-01-09 3 views
3

Я пытался добавить в .fadeTo на DIV и, наконец, получил его на работу.fadeTo не ослабевает медленно

У меня есть это:

<section class= "hue innerS1" id="hue" > 
    <p class="huep innerS1">BRILLIANT-HUED</p> 

    <script> 
     $(window).scroll(function() { 
      $('[class^="hue"]').each(function() { 
       if (($(this).offset().top - $(window).scrollTop()) < 150) { 
        $(this).stop().fadeTo('slow', 1); 
       } else { 
        $(this).stop().fadeTo('slow', 0); 
       } 
      }); 
     }); 
    </script> 

</section> 

Но когда я прокручиваю к div отображается в миллисекундах, а не на том, для чего он был установлен. Когда я прокручиваю назад назад, то div .fadeTo работает тогда.

Я не могу понять, что неправильно, поскольку обе строки кода одинаковы, поэтому они должны работать, нет?

Редактировать

Вот jsFiddle

Но как вы можете видеть, что это работает на этом я, возможно, потребуется обновить JQuery, что я использую. Это действует немного забавно, хотя

+1

Можете ли вы воспроизвести это с помощью примера jsFiddle.net? – j08691

+0

@ j08691 получил один отсортированный, забыл добавить его при публикации. –

+1

Выглядит хорошо, каково реальное поведение, которое вы пытаетесь достичь? Вы хотите, чтобы он затухал, когда он равен 150 пикселей в верхней части экрана? Кроме того, JavaScript JSFiddle отличается от примера кода, который вы указали в своем вопросе ... – timothyclifford

ответ

2

Решение может быть использовано вместо слова вместо слова.

Таким образом, вместо слова slow используйте любое число (большее число, больше времени - здесь это, например, 800 - но число может быть другим, как вам нужно). Это позволит вам точно установить, как долго это будет продолжаться.

$(window).scroll(function() { 
     $('[class^="hue"]').each(function() { 
      if (($(this).offset().top - $(window).scrollTop()) < 150) { 
       $(this).stop().fadeTo(800, 1); 
      } else { 
       $(this).stop().fadeTo(800, 0); 
      } 
     }); 
    });