У меня есть сценарий макета, в котором фиксированная стрелка вниз предназначена для плавной прокрутки пользователя к следующему разделу полной высоты.
Каждый раздел имеет класс (.section). Это работает и довольно просто, когда все разделы являются одноуровневыми. Есть один блок кода, который требует, чтобы эти разделы находились в другом div.
Я создал codepen, чтобы проиллюстрировать это http://codepen.io/chrisando/pen/GqoORa/ а>
<a class="down">DOWN</a>
<div class="section">
Section 1
</div>
<div class="section">
Section 2
</div>
<div class="container">
<div class="section">
Section 3
</div>
<div class="section">
Section 4
</div>
</div>
<div class="section">
Section 5
</div>
Моя логика до сих пор была. - Добавьте класс (.section-past) к каждому разделу после того, как они пересекут верхнюю часть области просмотра. - При нажатии на ссылку вниз найдите последний (.section-past), затем прокрутите до следующего .section.
Это разваливается, когда нужно перейти в контейнер div для следующего раздела; или при выходе из контейнера для следующей секции.
Я экспериментировал с функцией .index() для jquery, но в итоге получил очень сложные решения, которые не увенчались успехом. Также посмотрел на вложенные условные операторы, но снова получил очень раздутый ошибочный код.
Надеясь, что кто-то может указать мне на правильную логику и решение.
Спасибо Крис