Эффект ослабления на свитке - PullRequest
0 голосов
/ 04 марта 2020

Я изучил css и javascript в эти несколько дней и столкнулся с эффектом прокрутки на этом сайте (https://jnby.jp/). Я даже не уверен, как этот эффект называется, поэтому у меня нет успеха в поиске его.

Могу я спросить, как это достигается? Или как это называется?

Спасибо

1 Ответ

2 голосов
/ 04 марта 2020

Добро пожаловать в SO.

Этот эффект называется плавной прокруткой.

Добавьте приведенный ниже код перед закрытием тега body.

 <script>
  if (window.addEventListener) window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

function wheel(event) {
    var delta = 0;
    if (event.wheelDelta) delta = event.wheelDelta / 40; //controls the scroll wheel range/speed
    else if (event.detail) delta = -event.detail / 40;

    handle(delta);
    if (event.preventDefault) event.preventDefault();
    event.returnValue = false;
}

var goUp = true;
var end = null;
var interval = null;

function handle(delta) {
var animationInterval = 20; //controls the scroll animation after scroll is done
  var scrollSpeed = 20; //controls the scroll animation after scroll is done

if (end == null) {
  end = $(window).scrollTop();
  }
  end -= 20 * delta;
  goUp = delta > 0;

  if (interval == null) {
    interval = setInterval(function () {
      var scrollTop = $(window).scrollTop();
      var step = Math.round((end - scrollTop) / scrollSpeed);
      if (scrollTop <= 0 || 
          scrollTop >= $(window).prop("scrollHeight") - $(window).height() ||
          goUp && step > -1 || 
          !goUp && step < 1 ) {
        clearInterval(interval);
        interval = null;
        end = null;
      }
      $(window).scrollTop(scrollTop + step );
    }, animationInterval);
  }
}
</script> 

Следующие ссылки помогут вам начать дела.

https://www.w3schools.com/howto/howto_css_smooth_scroll.asp

https://css-tricks.com/snippets/jquery/smooth-scrolling/

https://www.cssscript.com/tag/smooth-scroll/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...