Uni-app实现左右滑动页面内容切换(兼容微信小程序)

这篇具有很好参考价值的文章主要介绍了Uni-app实现左右滑动页面内容切换(兼容微信小程序)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

        前言

        整体思路

        一、HTML部分

        二、Script部分

        三、Style部分


前言

          (先声明哦我可不是偷懒,只是想学术借鉴一下)因为最近有在做左右滑动功能,秉持着能 ctrl+c 绝不动脑子的原则,开始了我的一顿操作,结果很明显没找到,言归正传,上代码。


整体思路

         通过@click方法获取点击元素的滑动信息,最后改变已经双向绑定的定位元素Left值,就Ok了!


一、HTML部分

           代码如下(示例):

<template>
	<view class="slideBox" @touchstart="touchStart" @touchend="touchEnd">
		<!-- 这里放需要滑动的区域 -->
		<view class="slideBox_slidingRegion" :style="{left: vwidth + '%'}">
			<view class="slideBox_slidingRegion_item"> <!-- 模块一 -->
				<view class="slideBox_slidingRegion_item_child" v-for="item in demandLists">{{item.name}}</view>
			</view>
			<view class="slideBox_slidingRegion_item"> <!-- 模块二 -->
				<view class="slideBox_slidingRegion_item_child" style="background-color: #28AC74;" v-for="item in supplierLists">{{item.name}}</view>
			</view>
		</view>
	</view>
</template>

二、Script部分

           代码如下(示例):
<script>
	export default {
		data() {
			return {
				startX: 0, //滑动开始x轴位置
				vwidth: 0, //滑动的x轴距离
				demandLists: [{ //求购商品列表
						name: '强盛集团 1',
					},
					{
						name: '强盛集团 2',
					},
					{
						name: '强盛集团 3',
					},
					{
						name: '强盛集团 4',
					},
					{
						name: '强盛集团 5',
					}
				],
				supplierLists: [{ //求购商品列表
						name: '永恒之主—白小纯',
					},
					{
						name: '永恒之主—白小纯',
					},
					{
						name: '永恒之主—白小纯',
					},
					{
						name: '永恒之主—白小纯',
					},
					{
						name: '永恒之主—白小纯',
					}
				],
			}
		},
		methods: {
			touchStart(e) {
				if (e.touches.length == 1) {
					this.startX = e.touches[0].clientX;
				}
			},
			touchEnd(e) {
				if (e.changedTouches.length == 1) {
					var endX = e.changedTouches[0].clientX;
					let diff = endX - this.startX;
					const that = this
					if (Math.abs(diff) > 100) {
						console.log(diff)
						if (diff > 0) { //右滑 这里可以放需要进行的业务逻辑
							// 	console.log('元素信息右滑:', that.vwidth)
							that.vwidth += 100
							if (that.vwidth == 100) {
								that.vwidth = -100
							}
						} else { //左滑	这里可以放需要进行的业务逻辑
							const that = this
							console.log('元素信息左滑:', that.vwidth)
							that.vwidth += -100
							if (that.vwidth == -200) {
								that.vwidth = 0
							}
						}
					}
				}
			}
		}
	}
</script>

三、Style部分

           代码如下(示例):
<style lang="scss">
	.slideBox {
		display: flex;
		width: 100%;
		height: 1000rpx;
		overflow: hidden;
		position: relative;

		&_slidingRegion {
			display: flex;
			flex-direction: row;
			width: 200%;
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;

			&_item {
				width: 100%;
				height: 100%;
				display: flex;
				flex-direction: column;

				&_child {
					display: flex;
					flex-direction: row;
					align-items: center;
					justify-content: center;
					width: 100%;
					height: 180rpx;
					margin: 10rpx 0;
					color: #fff;
					font-size: 34rpx;
					background-color: #fb723b;
				}
			}
		}
	}
</style>

总结

        没总结,只是简单的功能,谢谢大家观看!文章来源地址https://www.toymoban.com/news/detail-727903.html

到了这里,关于Uni-app实现左右滑动页面内容切换(兼容微信小程序)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【uni-app】【01】底部导航栏与页面切换

    1.(配置文件在哪)uni-app 路由控制是在 pages.json 文件中的。 2.(基本配置项有哪些)初学的时候主要有三个配置项,① pages ② globalStyle ③ tabbar [!TOC] 接下来主要是对这三个配置项做一个简单介绍。 负责页面管理。不需要自己写的,你在项目的 pages 文件夹下创建页面会自动生成配

    2023年04月27日
    浏览(58)
  • uni-app —— 小程序实现左右菜单联动

    文章目录 前言 一、示意图 二、使用步骤 1.静态页面的布局 2.模拟数据格式 3.左侧菜单的点击效果 4.右侧菜单的联动效果 三、具体实现代码 1.页面结构 2.相关样式 3.业务逻辑部分 今天写出了一个新的小玩意儿,个人认为实现思路与方法还算值得学习,在这里分享给大家! 页

    2024年02月07日
    浏览(59)
  • uni-app前端H5页面底部内容被tabbar遮挡

    在用uniapp写小程序的时候,底部有一部分内容没显示出来,被底部的tabbar遮挡住了 给最外部的view设置样式 padding-bottom: var(--window-bottom) ,如下 参考1 参考2 使用 uni-app 框架开发的一个项目,发现 H5 端页面底部的内容被导航栏(Tabbar)遮挡,小程序端可以正常显示。 查阅资料

    2024年02月04日
    浏览(65)
  • uni-app:切换页面刷新,返回上一页刷新(onShow钩子函数的使用)

    切换页面刷新:通过onShow()便可实现 返回上一页通过uni.navigateBack({delta: 1});实现 以返回上一页刷新为例 在A页面写入方法refreshHandler() 在A页面写入onLoad(),onShow()  onLoad(): 首次进入页面时执行的方法,这里直接引入refreshHandler() 可以直接查询到页面数据 onShow(): 进入页面执行

    2024年02月15日
    浏览(64)
  • uniapp 左右滑动切换页面并切换tab

    实现效果如图 要实现底部内部的左右滑动切换带动上方tab栏的切换,并且下方内容要实现纵向滚动 ,所以需要swiper,swiper-item,scroll-view组合使用 tab栏部分  tab栏点击切换,需要重新调取数据 下方内容部分 滑动切换,改变上方tab栏状态,并重新调取数据 以上即可实现页面左

    2024年02月13日
    浏览(49)
  • 【uni-app】uni-app实现聊天页面功能——功能篇(上)

    上一篇讲到了如何布局,这一篇将讲一下如何用uni-app实现小程序聊天页面的最主要的功能——发消息后页面滚动到最底部(参考过很多文章最后找到比较适合的方法)。 其他的功能(参考微信),之后的文章会讲述到具体实现方法 点击聊天框的时候,聊天框随键盘抬起且聊

    2024年02月11日
    浏览(67)
  • 【uni-app】uni-app实现聊天页面功能(小程序)——布局篇

    在工作中使用uni-app参与开发一个小程序,其中要写一个简单的聊天页面,虽然功能不多(只有一个发送文字的功能),但是其中的细节比较多,也踩过很多坑,特此记录下来。要实现的页面如图所示,该篇主要讲讲如何布局(参考了很多文章之后根据页面需求进行一个整合)

    2024年02月05日
    浏览(100)
  • 微信小程序实现左右滑动触发内容及联动选项卡切换、Math、abs、findIndex、parseInt、String、push、createSelectorQuery、selectAll

    在写原生微信小程序项目的时候,遇到左右滑动更新内容及联动选项卡切换的功能。于是就写了这篇文章,关于文章的 css 不在此文章中展示,使用了公共的自定义类名,所以通过类名大概就能推敲出 css 的属性及值。 页面分为三个模块,分别是顶部横向滚动选项卡,底部内

    2024年02月09日
    浏览(76)
  • uni-app:实现密码框内容展示与隐藏

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包