透過 100 多個技巧的集合學習 Nuxt!

aos
nuxt-aos

一個 Nuxt 模組,用於新增滾動時動畫效果

Nuxt Aos

npm versionnpm downloadsLicenseNuxt

一個 Nuxt 模組,用於為您的應用程式新增滾動時動畫效果。

功能

  • ⛰  輕鬆將滾動時動畫函式庫新增至您的 nuxt 應用程式

快速設定

  1. nuxt-aos 相依性新增至您的專案
npx nuxi@latest module add aos
  1. (可選)將 aos 設定新增至 nuxt.config.js,向下捲動以取得更多資訊。

That's it! You can now use Aos in your Nuxt app on every page 🚀

For example:

```html
<div data-aos="fade-up"></div>

可用的動畫列表可以在 https://michalsnik.github.io/aos/ 找到

開發

# Install dependencies
yarn install

# Generate type stubs
yarn run dev:prepare

# Develop with the playground
yarn run dev

# Build the playground
yarn run dev:build

# Run ESLint
yarn run lint

# Run Vitest
yarn run test
yarn run test:watch

# Release new version
yarn run release

設定

您可以在 nuxt.config.js 中使用 aos 來設定 nuxt-aos

export default defineNuxtConfig({
  aos: {
    // Global settings:
    disable: false, // accepts following values: 'phone', 'tablet', 'mobile', boolean, expression or function
    startEvent: 'DOMContentLoaded', // name of the event dispatched on the document, that AOS should initialize on
    initClassName: 'aos-init', // class applied after initialization
    animatedClassName: 'aos-animate', // class applied on animation
    useClassNames: false, // if true, will add content of `data-aos` as classes on scroll
    disableMutationObserver: false, // disables automatic mutations' detections (advanced)
    debounceDelay: 50, // the delay on debounce used while resizing window (advanced)
    throttleDelay: 99, // the delay on throttle used while scrolling the page (advanced)

    // Settings that can be overridden on per-element basis, by `data-aos-*` attributes:
    offset: 120, // offset (in px) from the original trigger point
    delay: 0, // values from 0 to 3000, with step 50ms
    duration: 400, // values from 0 to 3000, with step 50ms
    easing: 'ease', // default easing for AOS animations
    once: false, // whether animation should happen only once - while scrolling down
    mirror: false, // whether elements should animate out while scrolling past them
    anchorPlacement: 'top-bottom', // defines which position of the element regarding to window should trigger the animation
  }
})

API

您也可以使用 AOS API,目前有兩種方法可用

const { $refreshAos, $refreshHardAos } = useNuxtApp()

$refreshAos()

$refreshHardAos()

詳細資訊,請參閱 AOS API