Интересно, могу ли я получить помощь / направление ...
По сути, я создаю свой веб-сайт портфолио. Вот работа в процессе, она еще не закончена!
https://reenaverma.github.io/
По сути, когда вы прокручиваете страницу вниз, вы увидите, что серая линия движется слева до середины экрана. В основном это должна быть анимация, сопровождающая заголовок на свитке.
Я хочу, чтобы серая линия прекратилась в начале каждого заголовка. Таким образом, для слова «о рине» он должен останавливаться перед «а» (не снизу).
Я хотел бы узнать, как лучше всего этого достичь? Соответствующий код ниже. Я уже получил часть этого от google и stackoverflow.
Полагаю, я мог бы уронить заголовок перед div, поэтому анимация находится в div слева от заголовка. И используйте animate.js fadein / slidein. Но я просто хотел узнать, есть ли лучший / правильный способ сделать это?
HTML
<section class="section-white">
<div class="container">
<div class="flex-grid">
<div class="col-white">
<h2><span>about reena</span>
<div class="line"></div>
</h2>
<!-- <div id="trainMotion">
<img src="http://i.imgur.com/uKxkshD.png" alt=""
class="line">
<p>A Full Stack Developer etc etc etc...</p>
</div>
</div>
</div>
</section>
CSS:
.line {
display: block;
position: relative;
margin: 0 auto;
height: 3px;
background-color: #ccc;
width: 150px;
left: -300px;
transform: translateX(-50%);
}
JAVASCRIPT
$(window).on('scroll',function(){
const trainPosition = Math.round($(window).scrollTop() /
$(window).height() * 100);
$('.line').css('transform','translateX('+(trainPosition-30)+'%)');
});
Спасибо!