博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
仿饿了么外卖项目better-scroll插件的实战
阅读量:4359 次
发布时间:2019-06-07

本文共 785 字,大约阅读时间需要 2 分钟。

better-scroll 是一款重点解决移动端各种滚动场景需求的插件,并且可以很好的和 Vue 配合使用

首先来总结一下当下项目需要通过这个插件解决的需求:

 

1.左边商品种类列表可以滚动,右侧当前种类的商品详情也可以滚动

2.右侧上下滚动的时候左侧对应的种类也会高亮

3.点击左侧的种类的时候右侧会快速滑动至对应的商品

首先安装better-scroll

 

在项目中引入

 

 

 实例化bscroll的方法如下:

 

 在这个构造函数中第一个传通过类名获取的DOM对象,第二个则是传递一个配置参数对象,因此在VUE中我们需要获取到DOM对象

 

 

 

 在vue的methods中实例化

 

 右侧的商品列表部分我们不光要实例化这个滚动组件,还需要监听他的滚动回调

在data中储存一个scrollY变量方便全局使用,同样实例化的这个foodscroll对象也需要存放到data中

 

实例化foodscroll对象并赋值给data中的foodScroll

 

 

 在获取到数据的时候并且当DOM已经完全渲染时调用这个两个方法实例化滚动

 

 到这里第一步也完成了,测试一下效果,可以打印出右侧滚动的Y距

 

 接下来还需知道右侧每个商品种类的高度,以及总的高度

 

同样在data中定义这个数组

 

 把每一项的高度都推送到数组中存储起来

 

 

接下来就可以利用这个数组和之前获取到scrolly来获取当前的索引,使用计算属性方法,通过对比两个商品类目之间的距离是否在滚动范围内来返回不同的索引值

 

 绑定这个class

 

 到此第二步也完成了,现在右边滑动的时候左边也会在相应的区块添加当前样式

 

 最后一步点击左侧区块右边跳转:

很简单,在左侧每个列表中添加一个点击事件,把当前索引传递进去

 

在这个方法中获取到右侧的列表,再调用这个插件对应的接口即可

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/rmty/p/11453556.html

你可能感兴趣的文章
Kerberos安装及使用
查看>>
android 布局中 layout_gravity、gravity、orientation、layout_weight
查看>>
highcharts
查看>>
【学员管理系统】0x02 学生信息管理功能
查看>>
什么是Entity Framework(ORM)
查看>>
软件质量理解
查看>>
jquery 在 table 中修改某行值
查看>>
pyc文件是什么【转载】
查看>>
find the safest road HDU - 1596
查看>>
java通过jdbc方式连接oracle数据库
查看>>
spring边边角角
查看>>
HTML <!DOCTYPE> 标签 布局引用的几种方法 行级元素与块级元素
查看>>
[HDU] 1269 迷宫城堡-最简单的强连通分支题
查看>>
签个到
查看>>
POM.xml 标签详解
查看>>
Android 彩色Toast实现
查看>>
设计模式六大原则(2):里氏替换原则
查看>>
curl应用总结 转载
查看>>
C++ 类的对象管理模型初讲
查看>>
企业应用架构读书笔记与总结
查看>>