astro-strapi-ui/public/assets/vendor/timeline/timeline.js
2025-05-11 14:40:23 +02:00

37 lines
No EOL
1.3 KiB
JavaScript

jQuery(document).ready(function($){
var div = $('.line'),
divHeight = div.height(),
scroll;
$(window).scroll(function () {
scroll = $(this).scrollTop();
div.height(scroll)
});
var timelineBlocks = $('.cd-timeline-block'),
offset = 0.8;
//hide timeline blocks which are outside the viewport
hideBlocks(timelineBlocks, offset);
//on scolling, show/animate timeline blocks when enter the viewport
$(window).on('scroll', function(){
(!window.requestAnimationFrame)
? setTimeout(function(){ showBlocks(timelineBlocks, offset); }, 100)
: window.requestAnimationFrame(function(){ showBlocks(timelineBlocks, offset); });
});
function hideBlocks(blocks, offset) {
blocks.each(function(){
( $(this).offset().top > $(window).scrollTop()+$(window).height()*offset ) && $(this).find('.cd-date, .cd-timeline-img, .cd-timeline-content').addClass('is-hidden');
});
}
function showBlocks(blocks, offset) {
blocks.each(function(){
( $(this).offset().top <= $(window).scrollTop()+$(window).height()*offset && $(this).find('.cd-date, .cd-timeline-img').hasClass('is-hidden') ) && $(this).find('.cd-date, .cd-timeline-img, .cd-timeline-content').removeClass('is-hidden').addClass('bounce-in');
});
}
});