動效
motion
控制項提供 8 種預定義的動畫,這些動畫會在頁面滾動時觸發。這些動畫包括垂直移動、水平移動、透明度變化、模糊效果、旋轉、縮放、滑鼠追蹤和滑鼠傾斜。
控制項範例:
選擇了 "horizontal"
動畫的控制項範例:
參數
名稱 | 類型 | 預設值 | 說明 |
---|---|---|---|
id | string | - | "motion" 將儲存資料的鍵的識別符號。 |
type | string | - | 類型應為 "motion" 以使用此控制項。 |
label? | string | - | 顯示在控制項上方的標籤。 |
className? | string | - | 自訂 CSS 類名,用於修改控制項樣式。 |
icon? | string | - | 將顯示在控制項標籤左側的圖示名稱。 查看所有 圖示。 |
position? | number | - | 控制項在工具列中的位置。 |
roles? | Array<Role> | - | 只有當當前用戶的角色與提供的數組中的角色匹配時才渲染控制項。type Role = "admin" | "viewer" | "editor" | "designer" | "manager" |
devices? | "all" | "desktop" | "responsive" | "all" | 定義控制項將被渲染在哪些設備上。 "all" 會在所有設備上渲染控制項。 "desktop" 只會在桌面設備上渲染控制項。 "responsive" 會在平板和手機設備上渲染控制項。 |
disabled? | boolean | false | 配置控制項被禁用或啟用的條件。 |
helper?.content | string | - | 如果提供,會在標籤旁顯示圖示。當懸停在此圖示上時,會顯示附加資訊的工具提示。 |
helper?.position | "top-start" | "top" | "top-end" | "right-start" | "right" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left" | "left-start" | "top" | 指定工具提示相對於輔助圖示的位置。 |
config?.disabled | Array<Effect> | [ ] | 應該被禁用的動畫名稱數組。它們不會從列表中消失,但無法被選擇。Effect = "vertical" | "horizontal" | "transparency" | "blur" | "rotate" | "scale" | "mouseTrack" | "mouseTilt" |
default? | Default | - | 默認控制項值。Default: { active: Active; verticalEnabled: boolean; verticalSpeed: number; verticalDirection: string; verticalViewportType: string; verticalViewportTop: number; verticalViewportBottom: number; horizontalEnabled: boolean; horizontalSpeed: number; horizontalDirection: string; horizontalViewportType: string; horizontalViewportBottom: number; horiztontalViewportTop: number; rotateEnabled: boolean; rotateSpeed: number; rotateDirection: string; rotateX: string; rotateY: string; rotateViewportType: string; rotateViewportBottom: number; rotateViewportTop: number; transparencyEnabled: boolean; transparencyLevel: number; transparencyDirection: string; transparencyViewportType: string; transparencyViewportBottom: number; transparencyViewportTop: number; scaleEnabled: boolean; scaleSpeed: number; scaleDirection: string; scaleX: string; scaleY: string; scaleViewportType: string; scaleViewportBottom: number; scaleViewportTop: number; blurEnabled: boolean; blurLevel: number; blurDirection: string; blurViewportType: string; blurViewportBottom: number; blurViewportTop: number; mouseTrackEnabled: boolean; mouseTrackDirection: string; mouseTrackSpeed: number; mouseTiltEnabled: boolean; mouseTiltDirection: string; mouseTiltSpeed: number; } Active - 表示當前選擇的動效,可以是 "vertical" 、"horizontal" 、"transparency" 、"blur" 、"rotate" 、"scale" 、"mouseTrack" 、"mouseTilt" 或 undefined 。verticalEnabled - 表示動畫是否啟用。verticalSpeed - 表示動畫速度。verticalDirection - 動畫方向。verticalViewportType - 動畫視口類型。verticalViewportTop - 動畫最小偏移。verticalViewportBottom - 動畫最大偏移。horizontalEnabled - 表示動畫是否啟用。horizontalSpeed - 表示動畫速度。horizontalDirection - 動畫方向。horizontalViewportType - 動畫視口類型。horiztontalViewportTop - 動畫最小偏移。horizontalViewportType - 動畫最大偏移。rotateEnabled - 表示動畫是否啟用。rotateSpeed - 表示動畫速度。rotateDirection - 動畫方向。rotateX - X 軸旋轉角度。rotateY - Y 軸旋轉角度。rotateViewportType - 動畫視口類型。rotateViewportTop - 動畫最小偏移。rotateViewportType - 動畫最大偏移。transparencyEnabled - 表示動畫是否啟用。transparencyLevel - 表示動畫值。transparencyDirection - 動畫方向。transparencyViewportType - 動畫視口類型。transparencyViewportTop - 動畫最小偏移。transparencyViewportBottom - 動畫最大偏移。scaleEnabled - 表示動畫是否啟用。scaleSpeed - 表示動畫速度。scaleDirection - 動畫方向。scaleX - X 軸縮放角度。scaleY - Y 軸縮放角度。scaleViewportType - 動畫視口類型。scaleViewportTop - 動畫最小偏移。scaleViewportBottom - 動畫最大偏移。blurEnabled - 表示動畫是否啟用。blurLevel - 表示動畫值。blurDirection - 動畫方向。blurViewportType - 動畫視口類型。blurViewportTop - 動畫最小偏移。blurViewportBottom - 動畫最大偏移。mouseTrackEnabled - 表示動畫是否啟用。mouseTrackSpeed - 表示動畫速度。mouseTrackDirection - 動畫方向。mouseTiltEnabled - 表示動畫是否啟用。mouseTiltSpeed - 表示動畫速度。mouseTiltDirection - 動畫方向。 |
style? | function | - | 此函數根據控制項的值生成 CSS 輸出。參數是包含 value 鍵的對象,其中包含控制項的當前值。該函數返回一個對象,該對象具有 CSS 選擇器鍵和 CSS 屬性值。
|
基本範例
僅使用所需的鍵的標準定義。此控制項將在所有設備上顯示。
{
id: "motion",
type: "motion"
}
返回值
返回一個包含以下值的對象:
{
active: undefined | "vertical" | "horizontal" | "transparency" | "blur" | "rotate" | "scale" | "mouseTrack" | "mouseTilt";
vertical: undefined | { speed: number; direction: "up" | "down"; viewport: { bottom: number; top: number; type: "viewport"; } };
horizontal: undefined | { speed: number; direction: "left" | "right"; viewport: { bottom: number; top: number; type: "viewport"; } };
transparency: undefined | { direction: "in" | "out" | "outIn" | "inOut"; level: number; viewport: { bottom: number; top: number; type: "viewport"; } };
blur: undefined | { direction: "in" | "out" | "outIn" | "inOut"; level: number; viewport: { bottom: number; top: number; type: "viewport"; } };
rotate: undefined | { direction: "left" | "right"; x: "left" | "center" | "right"; y: "top" | "center" | "bottom"; speed: number; viewport: { bottom: number; top: number; type: "viewport"; } };
scale: undefined | { direction: "up" | "down" | "downUp" | "upDown"; speed: number; x: "left" | "center" | "right"; y: "top" | "center" | "bottom"; viewport: { bottom: number; top: number; type: "viewport"; } };
mouseTrack: undefined | { direction: "direct" | "opposite"; speed: number; };
mouseTilt: undefined | { direction: "direct" | "opposite"; speed: number; };
}
active
- 表示當前選擇的動畫;
所有其他對象值是動畫名稱,包含通用參數:
speed
- 動畫移動速度;
direction
- 動畫移動方向;
viewport
- 有關視口的信息:偏移量的上下界;
level
- 表示效果(透明度、模糊)的強度;
x, y
- 表示動畫將從哪一側的軸開始;
選擇 "rotate"
選項時的值範例:
{
active: "rotate",
mouseTiltEnabled: false,
mouseTrackEnabled: false,
rotateEnabled: true
}
當 "rotate"
的設置更改時:
{
rotateDirection: "right",
rotateSpeed: 0.72,
rotateViewportBottom: 1,
rotateViewportTop: 0,
rotateViewportType: "viewport",
rotateX: "center",
rotateY: "center"
}
使用
標籤範例
將標籤添加到動畫列表的頂部。
{
id: "motion",
label: "Motion",
type: "motion"
}
類名範例
將 CSS 類添加到控制項的 DOM 節點。
{
id: "motion",
type: "motion",
className: "myMotion"
}
圖示範例
將 "star"
圖示添加到控制項標籤的左側。
{
id: "motion",
type: "motion",
icon: "nc-star"
}
角色範例
僅向具有 admin 和 designer 權限的用戶顯示控制項。
{
id: "motion",
type: "motion",
roles: ["admin", "designer"]
}
設備範例
將在所有設備上渲染。此值可以省略,因為默認為 "all"
。
{
id: "motion",
type: "motion",
devices: "all"
}
僅在 desktop
上渲染。
{
id: "motion",
type: "motion",
devices: "desktop"
}
僅在響應模式下顯示,特別是 tablet
和 mobile
。
{
id: "motion",
type: "motion",
devices: "responsive"
}
禁用範例
控制項將被禁用。通常,這裡應該是您的動態條件。
{
id: "motion",
type: "motion",
disabled: true
}