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自定义组件定义事件(基于Vue实现自定义组件的方式引入图标)
- vue虚拟dom如何转换成真实dom的(vue中对虚拟dom的理解知识点总结)
- vue和springboot分页开发实现(解决Vue+SpringBoot+Shiro跨域问题)
- vue怎么注册公共组件(解读Vue组件注册方式)
- vue 访问后台接口(vue轮询请求解决方案的完整实例)
- vue弹窗模板(Vue登录页面的动态粒子背景插件实现)
- vue中router的具体用法(vue-router中hash模式与history模式的区别)
- vue购物车怎么实现(Vue.js框架实现购物车功能)
- vue过滤器使用思路(vue 过滤器和自定义指令的使用)
- vue各种模块(一篇文章学会Vue中间件管道)
- 详解Vue3中Teleport的使用(详解Vue3中Teleport的使用)
- vue原样表格导出excel(Vue导出Excel功能的全过程记录)
- vue路由跳转自动定位在哪里(Vue路由this.route.push跳转页面不刷新的解决方案)
- vueelementui表格操作(Vue组件库ElementUI实现表格列表分页效果)
- vue离线地图有哪些(vue 集成腾讯地图实现api附DEMO)
- vue项目做过哪些打包优化(Vue项目优化的一些实战策略)
- 手机QQ与小米路由器在一起 明天揭晓,敬请期待(手机QQ与小米路由器在一起)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
- 贾怀胤唱《白龙马》 炸场 了 没想到京剧还能这么玩(贾怀胤唱白龙马)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
热门推荐
- django settings配置(Django重置migrations文件的方法步骤)
- dedecms标签怎么用(dedecms 添加字段后软件列表页无法调用软件大小问题的解决方法)
- C#中SortedList的用法
- python初学篇元组(元组列表字典莫烦python基础)
- python3和python2 兼容(Python2和Python3的共存和切换使用)
- 用php实现弹出消息提示框(php弹出提示框的是实例写法)
- laravel 后台管理框架(laravel-admin 管理平台获取当前登陆用户信息的例子)
- sql server中sleeping状态
- vue实现添加购物车小球(Vue实现简易购物车案例)
- django后台运行命令(Django框架实现的普通登录案例使用POST方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9