@Aleksander911

Как сделать докрутку (scroll) при условии?

Доброй ночи всем.
Есть несколько блоков на всю высоту браузера slider.dlpc.ru Подскажите как сделать подобную докрутку блока до верху или анимированный переход к следующему, через время без использования fullpage.js?
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
@nickerlan
var doAnimatedScroll(action,distance,speed){
/* пишем функцию, которая делает плавный скролл на нужное количество пикселей в нужном направлении. 
на время анимации ставим window.fixPositionAnimationInProgress=true;
и лочим скролл страницы
*/
}
/* Функция, решающая как "поправить" слайды */
var fixPositionAnimation=function(){
   var delta = window.scrollY % window.innerHeight;
   var action="MOVE UP";
   var distance = delta;
   if (delta<window.innerHeight/2) {
       action="MOVEDOWN"
   distance = window.innerHeight-delta;
}
doAnimatedScroll(action,distance,700)

}

/* Функция, попытки скролла. Вместе с функцией ниже срабатывает, только для последнего вызова в череде, того, у которого правильный id*/
var tryScroll = function(uid){
   if (window.scrollUid==uid&&window.fixPositionAnimationInProgress) {
      fixPositionAnimation()
   }
}
var condensor = function(){
   if (!window.fixPositionAnimationInProgress) 
         setTimeout(function(){
            var uid=Date.now; 
            window.scrollUid=uid; 
            tryScroll(uid)}, 1000)
    }

window.onscroll = condensor
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы