小程序 计算scroll-view的自适应高度,防止整个页面进行了滑动

本文主要是介绍小程序 计算scroll-view的自适应高度,防止整个页面进行了滑动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学习小程序已经快两周了,总结一下scroll-view使用遇到的问题
先上效果图吧
在这里插入图片描述
如图,我需要计算出scroll-view的高度,设置。否则scroll-view滑动的时候会带着页面滑动,并非实际业务需求。
1.设置scroll-view高度为动态的。

<scroll-view class='scroll-view-left' scroll-y='true'style='height:{{scrollHeight}}px'><block wx:for='{{2}}' wx:key='*this'><view class='flex-cloumn'>水晶梨</view></block></scroll-view>

2.计算实际高度=
窗口高度(wx.getSystemInfoSync().windowHeight)- 不滑动界面的高度

/*** 计算scrollview高度*/calculateScrollViewHeight() {let that = this;console.log(systemInfo)let query = wx.createSelectorQuery().in(this)//根据节点id查询节点部分的高度(px单位)query.select('#image').boundingClientRect();query.select('#groupInfo').boundingClientRect();query.select('#divider').boundingClientRect();query.select('#bottom').boundingClientRect();query.exec((res) => {// 分别取出节点的高度let imageHeight = res[0].height;let groupInfoHeight = res[1].height;let dividerHeight = res[2].height;let bottomHeight = res[3].height;// 然后窗口高度(wx.getSystemInfoSync().windowHeight)减去其他不滑动界面的高度let scrollViewHeight = wx.getSystemInfoSync().windowHeight -imageHeight - groupInfoHeight - dividerHeight - bottomHeight;console.log(scrollViewHeight)// 算出来之后存到data对象里面that.setData({scrollHeight: scrollViewHeight});})}

3.在onReady()中执行计算方法 设置scrll-view高度

 /*** 生命周期函数--监听页面初次渲染完成*/onReady: function() {let that = this;setTimeout(function() {that.calculateScrollViewHeight()}, 100)//calculateScrollViewHeight();},

注:这里存在一个问题,我直接执行获取的高度与实际的不一致,我延迟100ms才能得到正确的高度,如果有大佬知道,麻烦告诉我一哈。

这篇关于小程序 计算scroll-view的自适应高度,防止整个页面进行了滑动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997456

相关文章

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y