当前位置: 首页 > 编程笔记 >

基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

壤驷升
2023-03-14
本文向大家介绍基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果,包括了基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果的使用技巧和注意事项,需要的朋友参考一下

效果图如下所示:

 

在线地址: github.czero.cn/fancy 

点击下载安卓apk安装包

源码地址: github.com/czero1995/f…

项目主架构

 

使用的库

  • vue-cli (vue+webpack脚手架)
  • vue-router(路由跳转)
  • vuex(状态管理)
  • axios(数据请求)
  • mock.js(模拟后台数据)
  • vue-touch(手势判断)
  • fastclick(解决移动端浏览器 300 毫秒点击延迟问题)
  • vue-lazyload(图片懒加载)
  • swiper(轮播)

设计布局:

将页面的固定布局 position:fixed (比如Header,Footer)全部改为绝对布 局position:absolute ;

因为fixed会出现莫名其妙的兼容性问题,比如在ios11或ios8下会失效,输入框软键盘激活之后会把底部的固定定位弹出去,导致布局错乱。

用absolute实现fixed细节可以参考这篇

  • HTML5
  • CSS3
  • Less
  • rem(阿里用的那套rem算法)
  • Flex(弹性布局)
  • vue-touch(用于实现购物车左滑删除功能) *动画(vue原生transition实现原生app的效果)

数据请求:

  • Mock(模拟后台数据)
  • Axios(请求数据)

逻辑交互:

  • vue(数据渲染,各个组件间的数值传递)
  • vue-router(组件间的路由跳转)
  • vuex(全局状态的管理)

优化方案:

  • 腾讯智图(压缩图片,减少图片的体积)
  • vue-lazyload(图片懒加载,缓解加载数据,提高网页性能)
  • fastclick(解决移动端300ms延迟,提高页面交互流畅度)
  • vue-rouer(路由懒加载,分离app的js为多个js文件,到对应的页面再执行对应的js)
  • webpack(config/index.js文件内的productionSourceMap改为false,这样打包出来的文件可以没有.map结尾的js文件,且文件体积减少至少一半)

实现细节

媲美原生的页面前进和后退的动画实现:

 

指定transition:name

在data中声明默认的进出动画

 

在mounted()数据渲染初始化完成之后进行判断

 

拿到vuex的状态值

 

然后进行判断

 

最后将当前的组件名字传给vuex,实现不同的组件进去就有不同的切换动画。

下一页动画

.slide-go-enter-active,
.slide-go-leave-active {
 transition: all .5s;
 opacity: .8;
}
.slide-go-enter,
.slide-go-leave-to {
 transition: all .5s;
 transform: translate3d(100%, 0, 0);
 opacity: .8;
}

返回上一页动画

.slide-back-enter-active,
.slide-back-leave-active {
 transition: all .5s;
}
.slide-back-enter,
.slide-back-leave-to {
 transition: all .5s;
 transform: translate3d(-100%, 0, 0);
}

购物车左滑删除

 

v-touch

在css中设置好删除按钮的偏移量

-webkit-transform: translate(-12%, 0);
-webkit-transition: all 0.3s linear;

左右滑方法

 

滑动的时候触发select样式,进行绑定

让当前的列表项==购物车的列表,样式会被激活,出现左滑删除

注意页面的盒子使用盒子之后会和原生页面出现冲突,导致滑动不流畅

因此,需要在main.js指定默认的滑动方式为横向滑动触发

 

订单页面,点击顶部导航和左右滑动进行组件的切换以及动画样式的判断

 

也是使用的v-touch组件,实现方式和组件切换类似。 我给每个订单状态的组件一个不同的数字,根据这个数字,判断组件是左滑动的动画还是又滑动的动画

总结

以上所述是小编给大家介绍的基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍vue-router之实现导航切换过渡动画效果,包括了vue-router之实现导航切换过渡动画效果的使用技巧和注意事项,需要的朋友参考一下 过渡动效 提供了transition的封装组件,添加过渡动画,通过添加或删除css类名来实现。 过渡的css类名: v-enter  进入过渡的开始状态 v-enter-active  进入活动状态 v-enter-to  进入的结束状态 v-

  • 本文向大家介绍基于javascript实现的购物商城商品倒计时实例,包括了基于javascript实现的购物商城商品倒计时实例的使用技巧和注意事项,需要的朋友参考一下 话不多说,下面跟着小编一起来看下实例代码吧 Js: html: 最后输入你想要的结束时间 JS: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍Vue实现商品飞入购物车效果(电商项目),包括了Vue实现商品飞入购物车效果(电商项目)的使用技巧和注意事项,需要的朋友参考一下 各位掘友,好久不见,最近利用工作之余开源了Vue电商项目,高仿某知名O2O买菜平台,整个项目做下来收获还是蛮多的,可以扫描下方二维码体验,本篇是项目的核心知识拆解篇,主要是拆解增加商品飞入购物车的实现过程。 点我体验 项目开源地址 感谢点星+收藏 首先我先

  • 本文向大家介绍vue实现购物车抛物线小球动画效果的方法详解,包括了vue实现购物车抛物线小球动画效果的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了vue实现购物车抛物线小球动画效果的方法。分享给大家供大家参考,具体如下: 先上最终效果图,在商品页面和商品详情页面点击加号添加商品时都可以看到小球抛物线落入购物车的动画效果 此文章只写了商品页面购物小球的实现,商品详情页原理类似 实

  • 本文向大家介绍python实现简单购物商城,包括了python实现简单购物商城的使用技巧和注意事项,需要的朋友参考一下  本文为大家分享了购物商城小程序,供大家参考,具体内容如下 软件版本:python3.x 功能:实现简单购物商城 1.允许用户选择购买多少件 2.允许多用户登录,下一次登录后,继续按上次的余额继续购买 3. 允许用户查看之前的购买记录(显示购买时间)  4. 商品列表分级展示 操

  • 本文向大家介绍使用vue-router切换页面时实现设置过渡动画,包括了使用vue-router切换页面时实现设置过渡动画的使用技巧和注意事项,需要的朋友参考一下 背景 今天在编写页面时,看到页面没有任何效果就只是直入直出,完全没有一点逼格,所以想要实现类似于原生app的那种切换页面时的特效,遂开始google,发现网上各种方案都是各有优缺点,于是整理了自认为优雅的方案并记录下来. 实现难点 如何