js修改地址栏url_不同寻常的地址栏过渡

前几天,我在推特上看到这样一张图。

abe2c567a0791897184e2cc420f5fca3.png

原来地址栏还能这么玩,瞬间就觉得自己弱爆了。然后我决定去实现一下这个效果,然后做成一个库。

画了一个晚上,终于做好了。这是最后的成果。

960f03f9530c2976dbb514977d947ddb.png

这个库使用非常的简单。

你只需要,

yarn add animate-uri

然后

import { animateUriFactory, bindAllLink } from 'animate-uri'

animateUriFactory({ duration: 60, shouldPushState: false }).start(
  '/hello-world',
  '/',
)

这样就是一个简单的过渡效果了。

玩玩可没有意思,在项目中使用才有意思。

接下来我们在 Next.js 项目中加入一个好玩的东西。

在 nextjs 中的自定义 _app.tsx 中加入如下,监听路由变化。

import { animateUriFactory } from 'animate-uri/publish/index.esm'
const animateInstance = animateUriFactory()

// componentDidMount(): void {
Router.events.on('routeChangeStart', (url) => {
  animateInstance?.start(url)
})

Router.events.on('routeChangeComplete', () => {
  animateInstance?.stop()
})

// }

大功告成。

随便偷偷说一下仓库地址:

animate-uri​github.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值