Download script.js from Connectaksa/glowing-frame-fixer-pro: direct link, hf CLI and curl.
- Browser
- Download file 1.83 kB
-
https://huggingface.co/spaces/Connectaksa/glowing-frame-fixer-pro/resolve/main/script.js
- Command line
-
hf download hf://spaces/Connectaksa/glowing-frame-fixer-pro/script.js
-
curl -L -o script.js https://huggingface.co/spaces/Connectaksa/glowing-frame-fixer-pro/resolve/main/script.js
1.83 kB
| ```javascript | |
| // Initialize particles | |
| function initParticles() { | |
| const particleHost = document.getElementById('particles'); | |
| const VW = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0); | |
| const VH = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0); | |
| const BASE = 12; | |
| const density = Math.round((VW * VH) / (900 * 900)); | |
| const PARTICLE_COUNT = Math.max(8, Math.min(22, BASE + density * 4)); | |
| const make = (t, c) => { | |
| const e = document.createElement(t); | |
| if (c) e.className = c; | |
| return e; | |
| }; | |
| const rand = (a, b) => Math.random() * (b - a) + a; | |
| for (let i = 0; i < PARTICLE_COUNT; i++) { | |
| const p = make('div', 'particle'); | |
| const size = rand(2, 6); | |
| p.style.width = p.style.height = size + 'px'; | |
| p.style.left = rand(0, 100) + '%'; | |
| p.style.top = rand(0, 100) + '%'; | |
| p.style.animationDelay = rand(0, 5) + 's'; | |
| const dur = (4 + Math.random() * 3).toFixed(2) + 's'; | |
| p.style.animationDuration = dur; | |
| particleHost.appendChild(p); | |
| } | |
| } | |
| // Initialize intersection observer for reveals | |
| function initReveals() { | |
| const io = new IntersectionObserver((entries) => { | |
| entries.forEach(e => { | |
| if (e.isIntersecting) { | |
| e.target.classList.add('in-view'); | |
| io.unobserve(e.target); | |
| } | |
| }); | |
| }, { root: null, rootMargin: '-100px', threshold: 0 }); | |
| document.querySelectorAll('.reveal-up, .reveal-left, .reveal-scale, .feature').forEach(el => io.observe(el)); | |
| document.querySelectorAll('.feature').forEach((el, i) => { | |
| el.style.transitionDelay = (0.6 + i * 0.1) + 's'; | |
| }); | |
| document.querySelectorAll('.reveal-up').forEach((el, i) => { | |
| if (!el.style.transitionDelay) { | |
| el.style.transitionDelay = (0.2 + i * 0.2) + 's'; | |
| }); | |
| } | |
| // Initialize parallax effect | |
| function init |