首页 > 其他分享 >直播app开发搭建,手指滑动横向切换tabar功能实现

直播app开发搭建,手指滑动横向切换tabar功能实现

时间:2023-07-12 14:12:42浏览次数:35  
标签:res app tabar 77777 value 滑动 anchor

直播app开发搭建,手指滑动横向切换tabar功能实现

<script>
import { mapState } from 'vuex';
 
export default {
data() {
return {
swiperCurrent: 0,
currentNum: 0,
tabs: [
[
{ value: '111111111111' }, { value: '2222222222' }, { value: '33333333' }, { value: '4444444' },
{ value: '5555' }, { value: '6666' }, { value: '77777' }, { value: '77777' }, { value: '77777' },
{ value: '77777' }, { value: '77777' }, { value: '77777' }, { value: '77777' }, { value: '000' },
],
[
{ value: 'aaaaaaa' }, { value: 'bbbbbbbbbbb' },
],
],
videoList: [
{ name: '臻选视频' },
{ name: '精选文章' },
],
anchor: { //处理swiper高度问题
deviceHeight: 0,
anchorTop: 0,
anchorBottom: 0,
anchorScreenBottom: 0
}
}
},
onPageScroll(e) {
// console.log(e.scrollTop);
this.scrollTop = e.scrollTop;
},
components: {},
computed: {
...mapState(["hasLogin", "safeAreaBottom"])
},
onLoad() {
this.computeSwiperHeight(0)
},
onShow() {},
methods: {
// tabs通知swiper切换
tabsChange(e) {
this.swiperCurrent = e.index;
},
// swiper-item左右移动,通知tabs的滑块跟随移动
transition(e) {
this.currentNum = e.detail.current
console.log(e.detail.current, '-------')
this.computeSwiperHeight(e.detail.current)
},
// scroll-view到底部加载更多
onreachBottom() {
console.log(11111111111)
},
computeSwiperHeight(pageIndex) {
let getSwiperHeight = () => {
let min = this.anchor.anchorScreenBottom - this.anchor.anchorTop;
let value = this.anchor.anchorBottom - this.anchor.anchorTop
return Math.max(min, value)
}
wx.createSelectorQuery()
.select('.anchor-screen-bottom')
.boundingClientRect()
.selectViewport()
.scrollOffset()
.exec(res => {
this.anchor.anchorScreenBottom = res[0]?.bottom
})
wx.createSelectorQuery()
.selectAll('.anchor-top')
.boundingClientRect()
.selectViewport()
.scrollOffset()
.exec(res => {
this.anchor.anchorTop = res[0][pageIndex]?.top
this.anchor.deviceHeight = getSwiperHeight()
})
wx.createSelectorQuery()
.selectAll('.anchor-bottom')
.boundingClientRect()
.selectViewport()
.scrollOffset()
.exec(res => {
this.anchor.anchorBottom = res[0][pageIndex]?.bottom
this.anchor.deviceHeight = getSwiperHeight()
})
},
goDetail() {
this.$jumpTo('/pages-home/articleDetail/index')
},
goPage(routeUrl) {
// console.log(routeUrl);
// jumpTo(routeUrl)
this.$jumpTo(routeUrl)
}
}
}
</script>

​以上就是 直播app开发搭建,手指滑动横向切换tabar功能实现,更多内容欢迎关注之后的文章

 

标签:res,app,tabar,77777,value,滑动,anchor
From: https://www.cnblogs.com/yunbaomengnan/p/17547329.html

相关文章

  • MyBatis,mapper找不到方法
       项目目录如下,可以看到是接口映射xml文件的mybatis此时运行项目会出现找不到save方法 解决方法:确保接口与xml文件路径一致在xml文件上再建一级mapper,并将其移入其中可  ......
  • 数字码头系统APP开发实例之会员端功能模块介绍
    数字码头是一款聚合性电商系统,目前开发的数字码头APP1.0版本包含的电商系统、积分系统、看广告系统、卷轴模式系统、签到模块组成。下面我就数字码头系统开发的功能模块,和大家展开探讨,本文主要的内容是主题模块架构和APP闭环商业逻辑的分享。任务一个商业模式系统都要围绕用户激励......
  • uniapp微信小程序分包
    1.在manifest配置以下节点,可以在App端启动分包。查看文档"app-plus":{"optimization":{"subPackages":true},"runmode":"liberate"//开启分包优化后,必须配置资源释放模式}一旦在pages.json里配置分包,小程序一定生效,而app是否生效,取决于manifest里是......
  • 如何将网站保存为手机app
    1.打开目标页面(hangyejingling.cn)2.点击该按钮3.选择添加至主屏幕4.桌面使用......
  • 2023-07-12 vue this.$set设置子组件内的值无效(uniapp+vue)
    前言:怎么说呢,子组件内嵌套了多层对象和数组,业务逻辑也是在子组件内处理,如何修改多层嵌套的对象数组的值?vue提供了一个this.$set方法去改变对应的值,实测在uniapp打包的微信小程序中无法使用该方法,而在Android端则可以,那有没有两全其美的方法?答案是有,在修改深层次的值时可以通过先......
  • iOS app图标尺寸规范速查表:设计师收藏必备!
    在UI设计中,图标作为重要的视觉元素扮演着不可或缺的角色。尽管图标所占空间相对较小,却是衡量设计师基本功的重要标准。了解图标设计和遵守iOSapp图标规范是每个设计师入门UI设计的必备条件。本文将深入探索iOSapp图标规范,为设计师们提供有价值的指导和灵感。  ios应用程......
  • 解决Android 修改 Application uiMode monitor dark mode的具体操作步骤
    Android修改ApplicationuiModemonitordarkmode随着智能手机的普及,人们对于移动应用程序的用户界面(UI)的黑暗模式(darkmode)的需求越来越高。黑暗模式不仅能够减少屏幕亮度,保护用户的眼睛,还能节省电池电量,给用户提供更好的用户体验。在Android平台上,我们可以通过修改Applic......
  • 运通App隐私政策
    《运通App隐私政策》(以下简称“本协议”)是【运通科技股份有限公司】(以下简称“我们”)与【运通App】用户(以下简称“用户”或“您”)就“身份实名验证”(以下简称“本服务”)的使用等相关事项所订立的有效合约。您通过网络页面点击确认或以其他方式选择接受本协议,即表示您与我们已达......
  • Bat中使用curl请求post接口(application/x-www-form-urlencoded)并携带请求头和请求参
    场景线上需要测试某接口的可通行以及返回数据等。如果是get请求可以直接在浏览器中校验,如果是post请求且又不想安装postman等三方工具,可以使用新建一个bat脚本文件的方式去测试接口。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、比如要测试的接口说明如下......
  • CSAPP DataLab学习笔记
    1.bitXor/**bitXor-x^yusingonly~and&*Example:bitXor(4,5)=1*Legalops:~&*Maxops:14*Rating:1*/intbitXor(intx,inty){return2;}思路将异或的真值表写出来,再用&|~表示,最后化简代码intbitXor(intx,inty)......