Use observer, scroll tracking, and subscription services for advanced interactivity. Use when implementing scroll animations, viewport detection, or frame-based updates.
This skill guides you through the specialized systems for viewport detection, scroll progress tracking, and global event subscriptions.
Import from @/modules/_:
onView (Viewport Detection)Triggers a callback when an element enters or leaves the viewport.
onView(element, {
threshold: 0.1,
callback: ({ isIn, direction }) => {
element.classList.toggle("is-visible", isIn);
}
});
onTrack (Scroll Progress)Maps scroll progress through an element to a range of values.
onTrack(element, {
bounds: [0, 100], // Map progress to 0-100
top: "bottom", // Start when bottom of element hits viewport top
bottom: "top", // End when top of element hits viewport bottom
callback: (value) => {
element.style.setProperty("--progress", value.toString());
}
});
Import from @lib/subs:
Raf (Animation Frame)For smooth, frame-based updates. Returns an unsubscribe function.
const unsubscribe = Raf.add(({ deltaTime, time }) => {
element.style.transform = `rotate(${time * 50}deg)`;
});
onDestroy(unsubscribe);
Resize (Window Resize)For responsive logic. Returns an unsubscribe function.
const unsubscribe = Resize.add(({ width, height }) => {
element.classList.toggle("is-mobile", width < 768);
});
onDestroy(unsubscribe);
add(callback, priority) where lower numbers run first.
-1: High priority (critical layout)0: Normal priority (default)1: Low priority (background effects)onView to enable/disable expensive Raf or onTrack callbacks when the element is not visible.onDestroy.onTracktop: "bottom", bottom: "top": Full visibility duration.top: "center", bottom: "center": While element passes through screen center.top: "top", bottom: "bottom": While element is fully contained in viewport.npx skills add vallafederico/webflow-interactivity-systems下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer