Полная прокрутка страницы до определенного раздела - PullRequest
4 голосов
/ 28 мая 2019

У меня есть верхний и нижний колонтитулы и две части телаЯ хотел сделать полную прокрутку страницы только до моего контейнера параллакса.Мне удалось придумать разметку и стиль для параллакса, но я не добился успеха со сценарием.


<div class="wrapper">
   <div class="top-content">
      <p>
         Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
      </p>
   </div>
   <div class="parallax">
      <div class="parallax__screen">
         <div class="parallax__image">
            <div class="parallax__illustration" style="background-image: url('https://picsum.photos/id/1/200/300');"></div>
         </div>
         <div class="parallax__copy">
            <p>
               Lorem Ipsum is simply dummy text of the printing and typesetting industry. 
            </p>
         </div>
      </div>
      <div class="parallax__screen">
         <div class="parallax__image">
            <div class="parallax__illustration" style="background-image: url('https://picsum.photos/id/22/200/300');"></div>
         </div>
         <div class="parallax__copy">
            <p>
               Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled
            </p>
         </div>
      </div>
      <div class="parallax__screen">
         <div class="parallax__image">
            <div class="parallax__illustration" style="background-image: url('https://picsum.photos/id/15/200/300');"></div>
         </div>
         <div class="parallax__copy">
            <p>
               it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged
            </p>
         </div>
      </div>
      <div class="parallax__screen">
         <div class="parallax__image">
            <div class="parallax__illustration" style="background-image: url('https://picsum.photos/id/10/200/300');"></div>
         </div>
         <div class="parallax__copy">
            <p>
               It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, 
            </p>
         </div>
      </div>
   </div>
   <div class="bottom-content">
      <p>
         Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
      </p>
   </div>
</div>

Любая помощь будет оценена.Вот моя скрипка

Ответы [ 5 ]

0 голосов
/ 12 июня 2019
0 голосов
/ 11 июня 2019

Вы можете использовать что-то вроде ниже.

var slide = function() {
        $('.nextsection').show();
            $('mainsection').find('.currentsection').animate({
                marginLeft : '-100%'
            }, 500);
            $('mainsection').find('.nextsection').animate({
                marginLeft : '0%'
            }, 500, function() {
                if (!_.isUndefined(fn)) {
                    fn();
                }
            });
    };

Здесь «nextsection» - это то, к чему вы хотите скользить, а «currentsection» - это то, с чего вы скользите.'mainsection' - это то же самое, что и 'nextsection', и 'currentsection'.

0 голосов
/ 07 июня 2019

Вы пытаетесь избежать какой-либо библиотеки и делаете это самостоятельно? В любом случае, я не думаю, что вы можете сделать это только с помощью CSS, вам понадобится немного JS.

Я рекомендую fullPage.JS , очень прост в использовании.

0 голосов
/ 10 июня 2019

Это было то, к чему вы стремились?

* {
  margin: 0;
  padding: 0;
}

body {//you had a typo here
  background-color: #fff;
  font-size: 16px;
  color: #333;
}

.bottom-content {
  position: absolute;
}

.parallax {
  position: sticky;
  top: 96px;
  overflow: hidden;
  @include e(screen) {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(100vh - 96px);
    width: 100vw;
  }
  @include e(image) {
    height: calc(100vh - 96px);
    border-radius: 0 rem(5) rem(5) 0;
    width: 100vw;
    z-index: 10;
  }
  @include e(illustration) {
    height: inherit;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
  }
  @include e(copy) {
    width: 100vw;
    z-index: 100;
    position: absolute;
  }
}

с этим стилем вы получите параллакс с текстом сверху

0 голосов
/ 06 июня 2019

Вы пытаетесь исправить заголовок и прокрутить секцию параллекса?Если это так, вы можете установить позицию и z-индекс заголовка (top-content).

<style>.top-content {position: fixed; z-index: 100; background-color: white;} . 
</style>

Вот пример: Fiddle Here

...