当前位置: 首页 > news >正文

学网站开发好不好唐山哪里建筑工地最好

学网站开发好不好,唐山哪里建筑工地最好,好的企业网站建设,表白网页制作软件手机版需求点分析 图片列表滚动触底的逻辑 将图片id组成的一维数组根据指定个数一组拆分为二维数组定义一个索引初始值为-1#xff0c;图片列表滚动触底#xff0c;索引值自增#xff0c;然后将拆分好的图片id二位数组对应的数据读出来放到图片id的数组图片根据列表新增的id取读取…需求点分析 图片列表滚动触底的逻辑 将图片id组成的一维数组根据指定个数一组拆分为二维数组定义一个索引初始值为-1图片列表滚动触底索引值自增然后将拆分好的图片id二位数组对应的数据读出来放到图片id的数组图片根据列表新增的id取读取每张图片的url并将读取到的url添加到图片列表中 图片预览所有的数据 图片的个数可能会有很多不能采用所有的图片都加载完成才开始渲染所以采用 递归的方式加载完当前图片在加载下一张图片 技术点基础 scroll事件 scroll 事件用于给元素绑定滚动事件当然也可以使用 原生js的 addEventListener(“scroll”,fn,false) 实现 滚动触底的三要素 scrollTop 元素垂直滚动出窗口的距离clientHeight 元素的内部宽度scrollHeight 元素内容的高度包含可视高度和滚动出去的高度scrollHeight scrollTop clientHeight当 scrollHeight 50 scrollTop clientHeight 时触发触底的逻辑 promise.all promise.all 可以理解为同时处理多个promise的异步请求promise.all的入参是一个由多个promise组成的数组promise.all的回参是有传入promise数组中的每个返回值组成的数组返回值顺序与如参数顺序保持一致 递归处理数据 递归是在满足条件的情况下自己调用自己在不确定数据个数的情况下可采用递归处理 代码实现 滚动触底加载 html div classlist scrollloadMoreImgFn/divloadMoreImgFn(ev) {const self this;if (ev.srcElement.scrollTop ev.srcElement.clientHeight ev.srcElement.scrollHeight - 50) {// 触底的业务逻辑self.handleImgData(currentIds);}} 将根据id请求图片地址的代码封装成函数 将根据图片id请求图片url的ajax氢气封装成 promise,将需要的数据作为函数的返回值 getImgFileById(ele) {console.log(ele0, ele);return new Promise((resolve, reject) {// 获取图片信息的业务逻辑// 将数据resolve出去let data {}resolve({data});});} promise.all处理图片列表数据 循环 图片id数组调用 上边的 getImgFileById 拿到 promise返回的对象并添加到数组中使用promise.all 处理上述数组拿到res 进行相关逻辑处理得到想要的数据格式 let imgResList [];let promiseList [];imgList.forEach(async (ele, index) {let imgP: any this.getImgFileById(ele);promiseList.push(imgP);});Promise.all(promiseList).then((res) {// 拿到res 进行相关逻辑处理得到想要的数据格式let item res//相关处理逻辑 此处省略imgResList.push(item)})根据图片id数组获取图片列表数据进行渲染 技术点分析 不采用promise.all原因 promise.all 是所有的promise都返返回了结果才会返回所有的值此处图片太多可能有几十张会等很久才出现图片因此采用一张图片一张图片渲染的模式技术点上采用递归的模式 代码实现 每张图片读取逻辑 // 定义currentFileId 变量 // 定义idList 图片id数组 // 定义 showFiles 渲染图片变量 async getImgFileByIdSingle(idList) {this.currentFileId// 获取图片信息的业务逻辑// 将数据resolve出去let fileId idList[this.currentFileId];let itemData: any await this.getImgFileById(fileId);this.showFiles.push(itemData)if (this.currentFileId idList.length) {this.getImgFileByIdSingle(idList);} }
http://www.w-s-a.com/news/409537/

相关文章:

  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设
  • 重庆装饰公司北京官网seo推广
  • 深圳网站设计灵点网络品牌网站充值接口
  • 建设书局 网站国内国际时事图片
  • 成都 网站建设培训学校屏蔽wordpress自带编辑器
  • 公司网站制作工作室中天建设集团有限公司第五建设公司
  • 网站的网页设计毕业设计苏州宣传册设计广告公司
  • 商城网站优化方案注册公司制作网站
  • 政务服务网站建设整改报告wordpress的导航代码
  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站
  • 奖励网站代码设计制作ppt时
  • 茂名优化网站建设门户网站和部门网站的区别
  • 一尊网 又一个wordpress站点wordpress获取当前文章名称
  • 营销型网站多少钱新建网站的外链多久生效
  • 网站空间怎么选择tp5企业网站开发百度云
  • 网站建设saas排名成立公司的流程和要求及费用
  • 网站建设共享骨科医院网站优化服务商
  • 肯尼亚网站域名万能进销存软件免费版
  • 做商城网站价格上海做网站建设
  • 广州制作外贸网站公司阿里云网站模板
  • 做网站为什么要买服务器十堰城市建设网站
  • 西安网站seo技术厂家东莞如何制作免费的网页