Скролл с секциями и блоками

261
16 июня 2018, 02:40

Ребята привет, работаю с событиями. Стоит такая задача, есть секции они меняются когда я скролю(окей сделал), но есть в этих секциях блоки, которые так же должны скролится но при этом текущая секция стоит, как только мы дошли до последнего блока данной секции, меняем секцию, если пошли обратно вверх то так же по очереди показывать блоки с последнего логично и если дошли до первого то переходим на другую секцию

$('#myContainer').bind('mousewheel', function(e) { 
  var sec_1 = $(".section"); 
  let main__current = $('.main__current'); 
  if (e.originalEvent.wheelDelta / 120 > 0) { 
    if (main__current.is(':first-child')) { 
      return; 
    } 
    main__current.removeClass("main__current").addClass("main__next") 
    main__current.prev().addClass("main__current").removeClass("main__next main__previous") 
     
  } else { 
    if (main__current.is(':last-child')) { 
      return; 
    } 
    main__current.removeClass("main__current").addClass("main__previous"); 
    main__current.next().addClass("main__current").removeClass("main__next main__previous") 
  } 
});
body { 
  overflow: hidden 
} 
 
.main__section { 
  position: absolute; 
  left: 0; 
  width: 100vw; 
  height: 100vh; 
  -webkit-transition: top .3s linear; 
  transition: top .3s linear; 
  overflow: hidden; 
} 
.main__section  > div { 
  position: absolute; 
  left: 0; 
  top: 100%; 
  width: 100vw; 
  height: 100vh; 
  -webkit-transition: top .3s linear; 
  transition: top .3s linear; 
} 
.main__section  > div.prev { 
    top: -100% 
} 
.main__section  > div.active { 
    top: 0 
} 
.main__previous { 
  top: -100%; 
} 
 
.main__current { 
  z-index: 1; 
  top: 0; 
} 
 
.main__next { 
  top: 100%; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id="myContainer"> 
  <div class="section section_1 main__section main__current"> 
    1 
  </div> 
  <div class="section section_2 main__section main__next"> 
    2 
  </div> 
  <div class="section section_3 main__section main__next"> 
    <div class="prev"> Блок 1</div> 
    <div  class="active"> Блок 2</div> 
    <div> Блок 3</div> 
    <div> Блок 4</div> 
 
  </div> 
  <div class="section section_2 main__section main__next"> 
    4 
  </div> 
</div>

Answer 1

Сделал концепт для вас https://github.com/PavelDemyanenko/webpack-4-minimal-config/pull/2

Если у вас возникнут вопросы, то не стесняйтесь спрашивать ;)

READ ALSO
Почему не отображается элемент div в Chrome?

Почему не отображается элемент div в Chrome?

При заполнении элемента формы происходит поиск данных по значениюВо время поиска должно отобразиться текстовое поле вроде "Processing values", а после...

262
Как сделать так, чтобы разные браузеры обрабатывали разный код?

Как сделать так, чтобы разные браузеры обрабатывали разный код?

Существует ли возможность указать в HTML, чтобы определённые браузеры обрабатывали отдельно для них созданный JS/JQuery? И как это сделать?

286
Как отправить фото или документы через ajax

Как отправить фото или документы через ajax

как можно сразу отправить файлы через ajax когда мы чтото закинули в Input type="file", мой скрипт почему то не срабатывают буду признателен за помощь

316