更新记录
1.0.3(2026-05-20) 下载此版本
完善标题
1.0.2(2026-05-20) 下载此版本
完善文档
1.0.1(2026-05-20) 下载此版本
更新文档
查看更多平台兼容性
uni-app(3.7.7)
| Vue2 | Vue2插件版本 | Vue3 | Vue3插件版本 | Chrome | Chrome插件版本 | Safari | Safari插件版本 | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | 1.0.0 | √ | 1.0.0 | √ | 1.0.0 | √ | 1.0.0 | × | × | × | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
mordom-ani-navigator
功能特性
- 本插件可以用于替代uni.redirectTo、uni.navigateTo、uni.navigateBack方法,使用方式与uni的API完全一致,并且增加了进入、退出动画的效果
- 该组件支持
<ani-navigator>组件调用方式,可以用于替代navigator组件。 - 6 种预设动画:
slide-in-right、slide-in-left、slide-in-top、slide-in-bottom、fade-in、zoom-fade-in - 支持为navigateTo和redirectTo独立配置跳转的默认动画
- 支持调用时传入临时指定动画效果
- 仅支持 H5 平台
安装
在 main.js 中引入插件:
import AniNavigator from '@/uni_modules/mordom-ani-navigator'
app.use(AniNavigator, {
animationName: 'slide-in-right', // 动画名称:slide-in-right, slide-in-left, slide-in-top, slide-in-bottom, fade-in, zoom-fade-in
animationNameRedirect: 'fade-in', // redirect 跳转时的默认动画(可选)
pageIn: 225, // 页面进入动画时长(毫秒)
pageOut: 225, // 页面离开动画时长(毫秒)
})
全局配置选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
animationName |
string |
slide-in-right |
页面切换的默认动画类型,可选slide-in-right, slide-in-left, slide-in-top, slide-in-bottom, fade-in, zoom-fade-in |
animationNameRedirect |
string |
animationName |
redirect 跳转时的默认动画类型,可选,如不配置则取animationName |
pageIn |
number |
225 |
页面进入动画时长(毫秒) |
pageOut |
number |
225 |
页面离开动画时长(毫秒) |
使用方式
注意事项
⚠️ 如果使用 uni-app 默认导航栏,点击后退按钮不会触发动画,因为插件无法拦截 uni-app 内部的前进/后退逻辑。如需实现带动画的返回效果,建议使用自定义导航栏,在返回按钮中调用 uni.aniNavigateBack() 处理后退。
⚠️ 本插件不会更改原生 uni.navigateTo、uni.redirectTo 的动画行为。如需使用转场动画,必须调用插件提供的 uni.aniNavigateTo()、uni.aniRedirectTo()、uni.aniNavigateBack() 方法,或是使用ani-navigator组件替代原生的navigator组件。
方式一:全局方法
- 在使用全局方法时,你可以传入与原生
uni.navigateTo、uni.redirectTo、uni.navigateBack相同的参数,有需要的话,可以增加animation属性,用于配置动画。- 除了navigateTo、redirectTo、navigateBack,其他几个跳转方法(reLaunch、switchTab等)均不支持动画
// 跳转到指定页面(带动画)
uni.aniNavigateTo({ url: '/pages/index/index' })
// 重定向到指定页面
uni.aniRedirectTo({ url: '/pages/index/index' })
// 返回上一页(带动画)
uni.aniNavigateBack()
// 跳转时临时指定动画配置
uni.aniNavigateTo({
url: '/pages/detail/detail',
animation: {
animationName: 'fade-in',
pageIn: 300,
pageOut: 200
}
})
// 重定向时临时指定动画配置
uni.aniRedirectTo({
url: '/pages/login/login',
animation: {
animationName: 'fade-in',
pageIn: 300,
pageOut: 200
}
})
// 返回时临时指定动画配置
uni.aniNavigateBack({
delta: 2,
animation: {
animationName: 'slide-in-left',
pageIn: 300,
pageOut: 200
}
})
方式二:通过组件调用
- 组件设计尽量借鉴了原生的navigator组件,除了animation选项是我新增的,其他选项都可以直接使用
组件属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
url |
string |
- | 必填,目标页面路径 |
open-type |
string |
navigate |
跳转方式:navigate, redirect, switchTab, reLaunch, navigateBack, exit |
delta |
number |
1 |
open-type=navigateBack 时有效,表示回退的层数 |
hover-class |
string |
navigator-hover |
指定点击时的样式类,设置为 none 时无点击态效果 |
hover-stop-propagation |
boolean |
false |
指定是否阻止本节点的祖先节点出现点击态 |
hover-start-time |
number |
50 |
按住后多久出现点击态,单位毫秒 |
hover-stay-time |
number |
600 |
手指松开后点击态保留时间,单位毫秒 |
render-link |
boolean |
true |
是否给组件加一层 a 标签控制 SSR 渲染 |
animation |
object |
null |
动画配置,支持 animationName、pageIn、pageOut |
组件使用示例
<ani-navigator url="/pages/index/index" open-type="navigate">
<button>跳转到首页</button>
</ani-navigator>
<ani-navigator url="/pages/index/index" open-type="navigate" :animation="{ animationName: 'fade-in', pageIn: 300, pageOut: 200 }">
<button>带自定义动画跳转</button>
</ani-navigator>
<ani-navigator url="/pages/login/login" open-type="redirect">
<button>重定向到登录页</button>
</ani-navigator>
<ani-navigator url="/pages/login/login" open-type="redirect" :animation="{ animationName: 'fade-in', pageIn: 300, pageOut: 200 }">
<button>带自定义动画重定向</button>
</ani-navigator>
<ani-navigator url="/pages/login/login" open-type="navigateBack" :delta="1" :animation="{ animationName: 'slide-in-left' }">
<button>带自定义动画返回</button>
</ani-navigator>
动画配置优先级(从高到低)
- 调用时
animation选项 — 最高优先级,所有跳转方式(navigate/redirect/navigateBack)均支持临时覆盖animationName、pageIn、pageOut animationNameRedirect— 仅 redirect 跳转时的默认动画名(仅覆盖animationName)animationName/pageIn/pageOut— 全局默认值

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 1
赞赏 0
下载 11988637
赞赏 1915
赞赏
京公网安备:11010802035340号