😍
Framer API 中文版
  • 写在前面
  • 从这里开始
    • 介绍
      • 快速开始
      • 基础
    • 教程
      • 准备 Setup
      • 引入 Slider 组件
      • Slider组件的元素
      • 拖动 & MotionValue
      • Hooks & 传递数据
      • 完成
      • 回顾
    • 简要案例
      • Frame
      • Stack
      • Animate
      • Gestures
      • Dragging 拖拽
      • Scrolling 滚动
      • Paging 翻页
      • Tranforms 变换
      • Variants 动画状态组
  • LIBRARY 库
    • Frame
      • Layout 布局
      • Visual 视觉
      • Transform 变换
      • Animation 动画
      • Transition 过渡
      • Variants 动画状态组
      • Tap 点击
      • Hover 悬浮
      • Pan
      • Drag
      • Types
    • Animation
      • Overview
      • Animation controls
      • Tween
      • Spring
      • Inertia 惯性
      • Orchestration
      • Types
    • Color
      • Create
      • Modify
      • Convert
      • Compare
      • Models
    • Page
      • Content
      • Padding
      • Events
      • Effects
      • PageEffectInfo
    • Scroll
      • Sizing
      • Content
      • Events
    • Stack
      • Content
      • Padding
    • Utilities
      • Transfrom
      • useTransform
      • useAnimation
      • useCycle
      • useMotionValue
      • useSpring
      • useViewportScroll
  • FRAMER X
    • Assets
      • Functions
    • Data & Overrides
    • CanvasComponents
      • Canvas.tsx
      • Layout
      • Colors
    • PropertyControls
      • Adding Controls
      • Hiding Controls
      • Array
      • Boolean
      • Color
      • ComponentInstance
      • Enum
      • File
      • FusedNumber
      • Image
      • Number
      • SegmentedEnum
      • String
    • Render Target
      • Properties
      • Functions
Powered by GitBook
On this page

Was this helpful?

  1. LIBRARY 库
  2. Frame

Pan

Pan方法是当你鼠标或者手指按住某个物体尝试想去拖动它的时候,鼠标或者手指在按住这个元素的情况下移动的距离超过3个像素就会触发,并且一直会持续触发,直到松开。它这个拖动可以不是真实的拖动,即物体可以不动,但是只要你鼠标是按住的,并且鼠标本身发生移动,这个事件就会触发,所以这个操作的触发是以鼠标或者手指移动的距离为判断,而不是被操作的物体的位移。

onPan(event, info): void

当Pan这个行为发生时会一直触发该回调函数

回调函数的参数

event: MouseEvent | TouchEvent | PointerEvent 不同的设备操作时会有不同的事件对象

info: PanInfo

一个对象,包含各种x和y的坐标值

- point: 想对于设备或者页面

- delta: 上一次触发事件时和当前触发事件时的坐标值的距离

- offset: 和最开始触发事件时的点的偏移距离

- velocity: 当前鼠标或者操作设备的速度

function onPan(event, info) {
  console.log(info.point.x, info.point.y)
}

<Frame onPan={onPan} />

onPanStart(event, info): void

当Pan这个行为一开始发生时会触发该回调函数

回调函数的参数

event: MouseEvent | TouchEvent | PointerEvent 不同的设备操作时会有不同的事件对象

info: PanInfo

一个对象,包含各种x和y的坐标值

- point: 想对于设备或者页面

- delta: 上一次触发事件时和当前触发事件时的坐标值的距离

- offset: 和最开始触发事件时的点的偏移距离

- velocity: 当前鼠标或者操作设备的速度

function onPanStart(event, info) {
  console.log(info.point.x, info.point.y)
}

<Frame onPanStart={onPanStart} />

onPanEnd(event, info): void

当Pan这个行为结束时会触发该回调函数

回调函数的参数

event: MouseEvent | TouchEvent | PointerEvent 不同的设备操作时会有不同的事件对象

info: PanInfo

一个对象,包含各种x和y的坐标值

- point: 想对于设备或者页面

- delta: 上一次触发事件时和当前触发事件时的坐标值的距离

- offset: 和最开始触发事件时的点的偏移距离

- velocity: 当前鼠标或者操作设备的速度

function onPanEnd(event, info) {
  console.log(info.point.x, info.point.y)
}

<Frame onPanEnd={onPanEnd} />

PreviousHover 悬浮NextDrag

Last updated 5 years ago

Was this helpful?