前言
需要用到的技术栈:Vue+Vuex
先看看效果图
过渡动画
示例代码
router.beforeEach(function (to,from,next) {
const toIndex = history.getItem(to.path);
const fromIndex = history.getItem(from.path);
if (toIndex) {
if (!fromIndex || parseInt(toIndex,10) > parseInt(fromIndex,10) || (toIndex === '0' && fromIndex === '0')) {
mit('UPDATE_DIRECTION',{direction: 'forward'})
} else {
mit('UPDATE_DIRECTION',{direction: 'reverse'})
}
} else {
++historyCount;
history.setItem('count',historyCount);
to.path !== '/' && history.setItem(to.path,historyCount);
mit('UPDATE_DIRECTION',{direction: 'forward'})
}
next()
});
这里还用到了vuex,但是我stroe写了很多就不提出来了,主要就是通过 UPDATE_DIRECTION方法更新每一次的路由方向是前进还是后退。
man.js里面主要思想就是给路由增加一个索引存到sessionStorage里面,以点击过的索引值不变,新增加的路由,索引增加1,同时count+1,这样在页面切换时通过比较索引值的大小,大的向右小的向左,做到左右有规律的过渡。
好了至此一个左右切换的过渡效果就成了,最近由于一直在开发也没怎么更新文章,如果有朋友有好的想法欢迎与我交流。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对编程之家的支持。