小程序懒加载

news/2025/1/11 14:24:47/

预览图:
在这里插入图片描述

wxml代码:

<block  wx:for="{{img}}" wx:key="index"><view class="pic-list"><!-- //listIndex大于item.index时,图片显示 --><image src="{{ listIndex > index ? item : '' }}" class="pic {{listIndex > index ?'Action':''}}" mode="widthFix" /></view></block>

js:

//index.js
//获取应用实例
const app = getApp()
Page({data: {img: ['http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg', 'http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg', 'http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg','http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg', 'http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg', 'http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg','http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg', 'http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg', 'http://img7.ng8855.com/ima/2022/01/19/fqy1nt.jpg'],},onShow: function () {//获取屏幕尺寸const screenWidth = wx.getSystemInfoSync().windowWidthconst screenHeight = wx.getSystemInfoSync().windowHeightthis.setData({//获取页面初始状态图片数量,0.63为图片容器的高度值(63vw),将代码中0.63改为你的容器对应高度listIndex: screenHeight / (screenWidth * 0.49),screenWidth: screenWidth,screenHeight: screenHeight})},// 滚动事件 onPageScroll(e) { //滚动距离+屏幕高度换算vw倍数let listIndex = (e.scrollTop + this.data.screenHeight) / (this.data.screenWidth * 0.49)if (listIndex > this.data.listIndex) { // 防止向上滑动后再向下滑再次出现重新加载情况this.setData({listIndex: listIndex})}}})

wxss:

.pic-list {width: 100vw;background: #efeff4;margin: 3vw 0;}.pic {width: 100%;display: block;opacity: 0;transition: opacity 0.3s linear 0.3s;}.Action {opacity: 1;}

http://www.ppmy.cn/news/204585.html

相关文章

FetchError: invalid json response body at http://... reason: Unexpected token < in JSON at position

问题的背景是&#xff1a;在写nextjs时&#xff0c;遇到的请求接口数据报的错 错误的原因是&#xff1a;调用url时没有加jsononly 1 import { useState } from react; import { GetServerSideProps, InferGetServerSidePropsType } from next; // ...export default functio…

예제 5–8 간단한 참조 리턴 사례

第一个是提前输入的 第二个是自己输入的 #include <iostream> using namespace std;char& find(char s[], int index){return s[index];//参考返回 }int main(){char name[]"Mike";cout << name << endl;find(name ,0)S;//在第一个字符串变成…

linux终端下载文件报错: Connection refused

问题 从github和zenodo上下载数据&#xff0c;尝试用wget和curl下载&#xff0c;都报错&#xff1a; 443... failed: Connection refused或 Failed to connect to zenodo.org port 443: Connection refused问题原因 DNS被污染了&#xff0c;需要手动在host文件里面添加要访…

自动驾驶教程:From Pixels to Meters

Inverse perspective mapping 测到哪些像素坐标 ( u , v ) (u,v) (u,v) 是车道边界的一部分之后&#xff0c;我们现在想要知道哪些3维点 ( X c , Y c , Z c ) (X_c,Y_c,Z_c) (Xc​,Yc​,Zc​)对应于这些像素坐标。首先让我们再次看一下这个图像形成过程的草图&#xff1a; …

k8s部署frp,并配置80端口

文章目录 1. 编写 frp-config-pvc.yaml2. 编写 frp-k8s.yaml3. 编写 http ingress4. 客户端 http 连接5. 测试http 连接6. 客户端 https 连接7. 客户端k8s 连接8. 配置win10远程桌面8.1 frps服务端配置8.2 frpc客户端配置8.3 远程连接 9. IP Port远程连接9.1 server端开放远程…

Elasticsearch出现field expansion matches too many fields异常

7.4.2的集群里面执行query_string 语句时 异常信息&#xff1a; 报了"reason": "field expansion matches too many fields, limit: 1024, got: 15448" 表示子查询数量大于1024 对query_string而言表示查询的字段数大于1024 通用处理方案&#xff1a; …

es“limit of total fields” 和“field expansion mathes too many fields”问题解决

es的“limit of total fields” 和“field expansion mathes too many fields”问题都是因为字段过多引起的&#xff0c;前者是因为插入时&#xff0c;后者是在查询时。解决方案如下&#xff1a; limit of total fields 字段过多&#xff0c;使用时报错。 解决方案&#xff1…

未经允许禁止入内,上班时间请销售人员不要来打扰

受不了推销了 公司办公室位于一栋商住混用的大厦&#xff0c;来往人员比较杂&#xff1b;最受不了的还是那些个做推销的&#xff0c;脸皮太厚叫都叫不走。 都是出来工作的&#xff0c;上班时间谁又能好好听你的商品介绍&#xff1b;干IT这行的&#xff0c;一来涉及到数据&…