vue中使用Betterscroll

安装

npm install better-scroll --save

引入

import BScroll from 'better-scroll'

纵向滑动

<template>
	<div class="wrapper" ref="wrapper">
		<ul>
			<li v-for="item in 8">{{item}}</li>
		</ul>
	</div>
</template>
<script>
	import BScroll from 'better-scroll';
	export default {
		mounted() {
			this.$nextTick(() => {
				this.scroll = new BScroll(this.$refs.wrapper);
			});
		}
	};
</script>
<style type="text/css">
	.wrapper {
		overflow: hidden;
		height: 100vh;
	}
	
	ul li {
		height: 400px;
	}
</style>

横向滚动

<template>
	<div class="tab" ref="tab">
		<ul class="tab_content" ref="tabWrapper">
			<li class="tab_item" v-for="item in itemList" ref="tabitem">
				{{item.title}}
			</li>
		</ul>
	</div>
</template>
<script>
	import BScroll from 'better-scroll';
	export default {
		data() {
			return {
				itemList: [{
						'title': '关注'
					},
					{
						'title': '推荐'
					},
					{
						'title': '深圳'
					},
					{
						'title': '视频'
					},
					{
						'title': '音乐'
					},
					{
						'title': '热点'
					},
					{
						'title': '新时代'
					},
					{
						'title': '娱乐'
					},
					{
						'title': '头条号'
					},
					{
						'title': '问答'
					},
					{
						'title': '图片'
					},
					{
						'title': '科技'
					},
					{
						'title': '体育'
					},
					{
						'title': '财经'
					},
					{
						'title': '军事'
					},
					{
						'title': '国际'
					}
				]
			}
		},
		created() {
			this.$nextTick(() => {
				this.InitTabScroll();
			});
		},
		methods: {
			InitTabScroll() {
				let width = 0
				for(let i = 0; i < this.itemList.length; i++) {
					width += this.$refs.tabitem[0].getBoundingClientRect().width; //getBoundingClientRect() 返回元素的大小及其相对于视口的位置
				}
				this.$refs.tabWrapper.style.width = width + 'px'
				this.$nextTick(() => {
					if(!this.scroll) {
						this.scroll = new BScroll(this.$refs.tab, {
							startX: 0,
							click: true,
							scrollX: true,
							scrollY: false,
							eventPassthrough: 'vertical'
						});
					} else {
						this.scroll.refresh()
					}
				});
			}
		}
	};
</script>
<style scoped>
	.tab {
		width: 100vw;
		overflow: hidden;
		padding: 5px;
	}
	
	.tab .tab_content {
		line-height: 2rem;
		display: flex;
	}
	
	.tab_content .tab_item {
		flex: 0 0 60px;
		width: 60px;
		list-style: none;
	}
</style>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值