Spaces:
Running
Running
File size: 3,584 Bytes
57d05ca |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
// Main Script for Silent Comet LDA Website
document.addEventListener('DOMContentLoaded', function() {
// Initialize Feather Icons
if (typeof feather !== 'undefined') {
feather.replace();
}
// Tech Stack Data
const techStack = [
'Python', 'TensorFlow', 'PyTorch', 'React', 'Node.js', 'AWS',
'Azure', 'GCP', 'Kubernetes', 'Docker', 'TypeScript', 'Java',
'PostgreSQL', 'MongoDB', 'Redis', 'Nginx', 'Linux', 'Git',
'CI/CD', 'Jenkins', 'Terraform', 'Ansible', 'Puppet', 'Spark',
'Hadoop', 'Kafka', 'RabbitMQ', 'GraphQL', 'REST APIs', 'Selenium',
'Jest', 'Cypress', 'Wireshark', 'Burp Suite', 'Metasploit',
'Nmap', 'ELK Stack', 'Prometheus', 'Grafana', 'Splunk',
'OpenCV', 'spaCy', 'NLTK', 'Hugging Face', 'FastAPI', 'Django',
'Flask', 'Spring Boot', '.NET', 'Rust', 'Go'
];
// Populate Tech Stack
const techContainer = document.getElementById('tech-stack-container');
if (techContainer) {
techStack.sort(() => Math.random() - 0.5).forEach(tech => {
const techItem = document.createElement('div');
techItem.className = 'tech-item';
techItem.textContent = tech;
techContainer.appendChild(techItem);
});
}
// Service Card Animation
const serviceCards = document.querySelectorAll('.service-card');
serviceCards.forEach(card => {
card.addEventListener('mouseenter', function() {
this.style.transform = 'translateY(-8px) scale(1.02)';
});
card.addEventListener('mouseleave', function() {
this.style.transform = 'translateY(0) scale(1)';
});
});
// Smooth scrolling for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
const href = this.getAttribute('href');
if (href !== '#') {
e.preventDefault();
const targetElement = document.querySelector(href);
if (targetElement) {
targetElement.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
}
});
});
// Parallax effect for hero section
window.addEventListener('scroll', function() {
const scrolled = window.pageYOffset;
const heroSection = document.querySelector('.relative.min-h-screen');
if (heroSection) {
const rate = scrolled * 0.3;
heroSection.style.transform = `translate3d(0, ${rate}px, 0)`;
}
});
// Intersection Observer for animations
const observerOptions = {
threshold: 0.1,
rootMargin: '0px 0px -50px 0px'
};
const observer = new IntersectionObserver(function(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
}
});
}, observerOptions);
// Observe service cards
serviceCards.forEach(card => {
card.style.opacity = '0';
card.style.transform = 'translateY(30px)';
card.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
observer.observe(card);
});
// Dynamic year for footer
const yearElement = document.getElementById('current-year');
if (yearElement) {
yearElement.textContent = new Date().getFullYear();
}
}); |