2013-06-18 2 views
-3

Я работаю на простой одностраничный сайт. Вы можете перемещаться, щелкая по ссылкам внутри фиксированной навигации. Эта фиксированная навигационная система должна работать, как показано здесь: http://www.teehanlax.com/story/medium/Анимация значений при прокрутке

Что-то вроде Tehann/Lax (фиксированная навигация, которая отображается только при прокрутке вверх и исчезает при прокрутке вниз), я, вероятно, мог бы сделать это самостоятельно. Но я хочу немного изменить этот пример, поэтому он работает, как видно на этом сайте: http://nzopera.com/2013/don-giovanni

В этом примере навигация работает, как на сайте Tehann/Lax, но отличается. Он не только оживляет, но появляется/исчезает, но реагирует на вашу прокрутку. Я думаю, что лучше всего взглянуть на последнюю страницу, которую я записал здесь, чтобы понять мое намерение. Как я могу добиться такого эффекта? Я знаю, как определить, прокручиваете ли вы вверх или вниз, смотрите мой текущий код. Но я не совсем уверен в анимации в зависимости от вашей позиции прокрутки.

Заранее за вашу помощь.

Пожалуйста, проверьте мой ответ на это сообщение, я попытался описать, что мне нужно немного подробнее.

EDIT: Это то, что я получил до сих пор, но это только с нормальной анимации JQuery

$(function(){ 
    var 
     scrollTop = 0, 
     lastScrollTop = 0, 
     delta = 50; 

    $(window).scroll(function(event){ 
     scrollTop = $(this).scrollTop(); 

     if(Math.abs(lastScrollTop - scrollTop) <= delta) 
      return; 

     if (scrollTop > lastScrollTop){ 
      if($(".header").hasClass("header--active")) $(".header").removeClass("header--active").animate({ top : -84 }); 
     } else { 
      if(!$(".header").hasClass("header--active")) $(".header").addClass("header--active").animate({ top : 0 }); 
     } 
     lastScrollTop = scrollTop; 
    }); 
}); 
+0

http://prinzhorn.github.io/skrollr/ – hamstu

+0

Спасибо, но делает этот плагин работать на моем примере ? Насколько я видел, вы должны использовать атрибуты данных для прокручивающей анимации, но мне нужно сделать это динамически в JS: Slide Navigation down (show) при прокрутке вверх ... Что мне в основном нужно, так это функция JS для анимации значения, так что-то вроде: функция linearMovement (startValue, endValue, время/расстояние в px); Итак, чтобы оживить значение CSS от 0 до 80 в 200px, код jQuery будет выглядеть как $ («element»). Css («width», linearMovement (0, 80, 200)); Что-то вроде этого существует или это возможно сделать с jQuery/JS? – Daniel

ответ

0

Как вы пометили JQuery, вы можете отображать текст на событие прокрутке

что-то вроде:

$(window).scroll(function(e){ 
    //do stuff here 
}); 

Если вы хотите, чтобы сделать вид, в определенный момент, как навигации на сайте вы Линк d, просто создать флаг, как показано ниже, например:

$(window).scroll(function() { 
var ypos = window.pageYOffset; 
var scroll_pos = 200;    

if(ypos > scroll_pos) { 
    //do stuff here 
} 
}); 

Смотрите здесь для более подробной информации: http://api.jquery.com/scroll/

+0

Я знаю это и знаю, как определить, прокручиваете ли вы вверх или вниз. Я не пытаюсь отображать текст при прокрутке, но я хочу показать фиксированную навигацию, когда я прокручиваю вверх и прячусь, когда снова прокручиваю вниз. Просто прокрутите вниз немного на этой странице http://nzopera.com/2013/don-giovanni, а затем прокрутите вверх. Вы заметите, что анимируется навигация. Это всего лишь основной материал, но я не уверен, как создать этот эффект при фиксированной навигации, вы можете увидеть в приведенной выше ссылке на пример. – Daniel

+0

OK см. Ответ Я обновил его. – Aaron

+0

Спасибо, но я думаю, что не подробно описал, что мне нужно. Я попытался объяснить это немного больше в моем ответе на первый пост. Я ищу эффект слайда вверх/вниз, который вы видите в моей ссылке на примере. Это не просто jQuery slideUp и SlideDown, но он реагирует на вашу прокрутку. Поэтому мне нужна функция для анимации значений (см. Мой ответ на первое сообщение). – Daniel

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