Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прилистывание до якора по скроллу мышки (https://javascript.ru/forum/misc/67708-prilistyvanie-do-yakora-po-skrollu-myshki.html)

OlegGarmash 03.03.2017 18:15

Прилистывание до якора по скроллу мышки
 
Добрый день.
Имеется сайт (однойстраничный лендинг пейдж).
Первый блок отображается на высоту окна браузера, второй и последующие ниже.
Пытаюсь написать скрипт, который бы при скролле мышки вниз плавно перемещал к поставленному якорю.
И далее уже работал скроллинг в обычном режиме.

рони 03.03.2017 18:33

OlegGarmash,
лучше макет минимальный сделать

OlegGarmash 04.03.2017 11:43

Цитата:

Сообщение от рони (Сообщение 446253)
OlegGarmash,
лучше макет минимальный сделать

Не совсем понял.

Вот пример как это сделано на другом сайте.
Но вытащить именно этот скрипт мне пока не удалось...
http://andersen.su/

рони 04.03.2017 13:09

ускоренная прокрутка первого блока
 
OlegGarmash,
ниже макет и вариант решения ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body,html{
    height: 100%;margin: 0;
    padding: 0;
  }
  p{
    height: 100%;
    background-color: #FF00FF;
    margin: 0;
    padding: 0;
  }
  .r{
    background-color: #FF0000;
  }
   .b{
     background-color: #DCDCDC;
   }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
jQuery(function() {
    var timer;
    jQuery(window).on("mousewheel DOMMouseScroll", function(event) {
        window.clearTimeout(timer);
        var up = event.originalEvent.wheelDelta || -event.originalEvent.detail;
        timer = window.setTimeout(function() {
            var height = jQuery(window).height();
            if (height > jQuery(window).scrollTop()) {
                up > 0 && (height = 0);
                $("body, html").stop().animate({
                    scrollTop: height
                }, 800)
            }
        }, 100)
    })
});
  </script>
</head>

<body>
  <p class="b">test</p>
  <p>test</p>
  <p class="r">test</p>
  <p>test</p>
</body>

</html>

OlegGarmash 04.03.2017 15:22

Спасибо огромное!


Часовой пояс GMT +3, время: 06:40.