32 lines
921 B
JavaScript
32 lines
921 B
JavaScript
// Services page scripts (moved from inline in pages/services.html)
|
|
// Depends on ../main.js which initializes feather and other globals
|
|
|
|
(function() {
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
// Timeline Animation
|
|
const timeline = document.getElementById('process-timeline');
|
|
const steps = document.querySelectorAll('.process-step');
|
|
|
|
function animateTimeline() {
|
|
if (!timeline) return;
|
|
const timelineTop = timeline.getBoundingClientRect().top;
|
|
|
|
if (timelineTop < window.innerHeight - 200) {
|
|
timeline.classList.add('animated');
|
|
|
|
// Animate steps sequentially
|
|
steps.forEach((step, index) => {
|
|
setTimeout(() => {
|
|
step.classList.add('active');
|
|
}, index * 1000);
|
|
});
|
|
}
|
|
}
|
|
|
|
window.addEventListener('scroll', animateTimeline);
|
|
window.addEventListener('load', animateTimeline);
|
|
|
|
|
|
|
|
});
|
|
})();
|