vue滚动条下拉翻页(Vue中利用better-scroll组件实现横向滚动功能)
类别:编程学习 浏览量:2716
时间:2022-01-17 01:35:51 vue滚动条下拉翻页
Vue中利用better-scroll组件实现横向滚动功能About
最近在学习vue的过程中,仿照去哪儿网的移动端写了个小项目,旨在实践和巩固基础知识,但是今天发现去哪儿的首页上有一个组件用户体验较差,即一个横向列表使用浏览器的原生滚动实现,列表滚动起来较为生涩,很难受,于是乎决定由better-scroll重写这个组件。
better-scroll介绍
better-scroll是黄轶大神(没错,我学长)写的基于i-scroll的一个滚动组件,项目地址:https://github.com/ustbhuangyi/better-scroll
一、滚动的实现原理
better-scroll的滚动原理和浏览器原生滚动原理是一样的,当子盒子的高度大于父盒子的高度,就会出现纵向滚动:
同理,如果子盒子的宽度大于父盒子的宽度,那么就会出现横向滚动 ( 根本原理 )。
二、在Vue中使用better-scroll
在Vue中使用better-scroll最需要注意的点就是必须等到页面渲染完成再去执行BScroll的实例化,因为better-scroll必须要得到滚动区域的尺寸和父盒子的尺寸,来计算出是否能滚动,所以我们必须要对Vue的生命周期有一定的了解。
这里是一个小demo,通过这个demo你将会了解到如何使用better-scroll
<template> <li class="wrapper" ref="wrapper"> // 在vue中获取dom元素最简便的方法就是利用 this.$refs <ul class="content"> <li>...</li> <li>...</li> ... </ul> </li> </template> <script> import BScroll from 'better-scroll' //导入better-scroll export default { mounted() { this.$nextTick(() => { // 使用 this.$nextTick 为了确保组件已经渲染完毕 this.scroll = new Bscroll(this.$refs.wrapper, {}) // 实例化BScroll接受两个参数,第一个为父盒子的dom节点 }) } } </script>
三、在Vue中实现横向滚动
1. 效果图对比
使用原生滚动:
使用better-scroll:
2. 代码(请看注释)
<template> <li class="recommand-wrap"> <li class="title"> <img class="title-img" src="https://imgs.qunarzz.com/piao/fusion/1711/16/bfbb9874e8f11402.jpg" alt="vue滚动条下拉翻页(Vue中利用better-scroll组件实现横向滚动功能)" border="0" />
参考链接
作者:黄轶
链接:https://zhuanlan.zhihu.com/p/27407024
总结
到此这篇关于Vue中利用better-scroll组件实现横向滚动的文章就介绍到这了,更多相关Vue better-scroll横向滚动内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- vue全局配置文件env(vue项目多环境配置.env的实现)
- vue指令使用技巧(Vue指令工作原理实现方法)
- vue可以使用jsx语法吗(vue中正确使用jsx语法的姿势分享)
- vue改数组和对象值(vue $set 实现给数组集合对象赋值)
- vue组件详解(Vue的方法和属性案例详解)
- vue加载html5动画(vue实现旋转木马动画)
- vue组件滚动加载教程(Vue组件封装上传图片和视频的示例代码)
- vue3.0路线图(Vue3.0 自己实现放大镜效果案例讲解)
- ant design 的vue批量操作(ant desing vue table 实现可伸缩列的完整例子)
- vue组件keep-alive的原理是什么(如何理解Vue简单状态管理之store模式)
- vue 计算一段时间的月份和天数(vue实现指定日期之间的倒计时)
- django框架教程第100讲(详解Django+Vue+Docker搭建接口测试平台实战)
- vue移动端图片放大效果实现(vue实现图片切换效果)
- vue3 composition api用法(vue3中provide和inject的使用)
- vue滚动条滚动事件(vue实现一个滚动条样式)
- vue走马灯特效(Javascript结合Vue实现对任意迷宫图片的自动寻路)
- 紫苏牛肉锅里滚一滚,香的鼻子都要掉了(紫苏牛肉锅里滚一滚)
- 每天都吃水果的好处(每天吃水果的好处与功效)
- 苹果15价格(苹果15价格512g官网)
- 春节放假几天(春节放假几天2023法定几天)
- 今天 3月13日,31年前,一个英雄少年感动了中国(今天3月13日31年前)
- 你好,新成理人丨成都理工大学2019级新生开学典礼隆重举行(新成理人丨成都理工大学2019级新生开学典礼隆重举行)
热门推荐
- python中jieba库怎么用(详解Python数据可视化编程 - 词云生成并保存jieba+WordCloud)
- 云锁服务器怎么设置安全(SugarHosts云服务器如何开启访问端口和使用安全组)
- 前端单行文本垂直居中(移动端的text-overflow多行文本溢出显示省略号…)
- 阿里云虚拟主机带公网地址吗(阿里云虚拟主机被搜索引擎爬虫访问耗费大量流量解决方法)
- idea怎么在tomcat部署项目(IDEA 配置Tomcat服务器和发布web项目的图文教程)
- php执行语句(PHP goto语句用法实例)
- mysql快速备份数据(如何使用Maxwell实时同步mysql数据)
- thinkphp标签详解(thinkphp整合系列之极验滑动验证码geetest功能)
- html5定位教学(Html5 webview元素定位工具的实现)
- background-position的使用
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9