位置: 编程技术 - 正文

javascript实现瀑布流加载图片原理(js debounce实现)

编辑:rootadmin

推荐整理分享javascript实现瀑布流加载图片原理(js debounce实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript show,js实现promise.all,js debounce实现,js实现promise.all,js瀑布流布局,javascript ul,js实现瀑布流效果,js瀑布流效果代码,内容如对您有帮助,希望把文章链接给更多的朋友!

讲一下大概的原理吧,还是先上图:

功能描述:

根据不同菜单的属性值分别加载不同的数据 下拉滚动条到一定位置预加载图片,滚动条拉到最底下的时候渲染html; 鼠标移到菜单,切换各个图片列表; 鼠标移到图片列表上,显示详细信息; javascript实现瀑布流加载图片原理(js debounce实现)

技术实现方案:

  先梳理一下从加载到显示的流程:  1. 加载数据  2. 拼接HTML写入到页面  3. 检查刚刚写入的HTML中的img是否全部加载完成,如果是,进入5、否则进入4  4. 等待图片加载完成  5. 计算每个元素的位置

  一开始的时候最头疼的是如何定位的问题,后来经过朋友指导终于解决:计算总共有多少列图片并且把每一列的高度都放到一个数组里面。每当一张图片加载完成的时候就查找这个数组里面最小的值,并且定位当前图片的top设置为这个值,完成后把这个图片的高度加上数组里面的最小值并且返回到数组里面,依次类推。 PS:因为这个功能代码太多,只能作基本的简单分解代码了: 

 其次开发过程中遇到的难题是:因为如上图所示,鼠标移动到菜单栏需要切换图片列表,并且分别需要用瀑布流加载不同类型的数据。所以要处理在切换页面的时候如何才能做到每个页面只执行一次代码请求接口,而不需要每一次切换都重新请求数据接口,仅仅执行切换显示图片列表的操作就可以了。  考虑到每一个菜单都有一个自定义属性,所以这个问题轻易地解决了:建立一个对象来记录当前菜单是否已经执行过代码,如果没有就执行请求数据 。 

以下为全部代码:html:

js:

标签: js debounce实现

本文链接地址:https://www.jiuchutong.com/biancheng/381705.html 转载请保留说明!

上一篇:Hammer.js+轮播原理实现简洁的滑屏功能(轮播怎么实现)

下一篇:JavaScript实现的SHA-1加密算法完整实例(js能实现的简单效果)

  • 免税收入怎么做会计分录
  • 怎么查历年
  • 投资者减除费用和工资薪金减除费用
  • 指定扣缴和法定扣缴区别
  • 无形资产资本化会计处理
  • 没有票据怎么要账
  • 事业单位现金收支管理办法
  • 工资发多了需要退回吗
  • 企业购入投资性房地产
  • 原材料保险公司赔偿会计分录怎么写
  • 酒店代金券怎么做账
  • 备品的定义
  • 营改增 贷款服务
  • 银行不可税前抵扣的情形
  • 城市建设维护税是什么意思
  • 附加税税率计税依据
  • 收取技术服务费
  • 办公室设计费取费标准一览表
  • 企业短期投资的计划和管理过程叫做资本预算
  • 消防安装工程会计核算
  • 季度所得税可以不预缴吗
  • 出口汇兑损益的会计分录
  • mac上安装homebrew
  • 以物抵债的会计分录
  • 收入成本配比原则
  • vbs win10
  • 事业单位收到拨入的工资怎么做账
  • 隐藏资源管理器窗口
  • u8销售类型怎么设置
  • data.dataloader
  • 一条指令可以完成一项复杂任务吗
  • 最小的电池是多大
  • php 银行卡支付
  • php 邮件发送
  • PHP new static 和 new self详解
  • 从零开始打造神级文明
  • PHP HTTP 认证实例详解
  • 兼职人员需要
  • Programming tutorials and source code examples
  • 车船税为什么没有发票
  • 未分配利润做账
  • 没有发票的福利支出如何入帐
  • 个人去开票要交税吗
  • sqlserver时间戳数据更新时也修改默认时间
  • 利润减负债
  • 年底存货反映了什么
  • 餐饮行业采购
  • 销售收入小于销售成本
  • 微信收款会计分录怎么写
  • 未开票收入账务处理分录
  • 负数发票要给税务局吗
  • 施工图审查费计算公式
  • 如何判断企业实际控制人
  • 企业所得税里的利润总额按什么填写
  • 员工离职未领工资怎么处置
  • 账本页面设置
  • 商品流通企业会计第三版答案倪明辉
  • docker安装使用
  • dlg是什么意思中文
  • linux用户权限管理
  • ubuntu设置登录用户
  • windows 8
  • win7系统怎么调整字体大小
  • linux 746
  • Cocos2dx3.2 Crazy Tetris 游戏输入(键盘事件,重力事件,触摸屏事件)
  • Lesson02_05 头元素
  • jquery源码分析笔记
  • crontab每秒执行一次命令
  • javascript入门基础
  • unity给物体添加重力
  • 谷歌chrome浏览器网页版网址
  • javascript面向对象编程指南
  • 湖南省国家税务总局官网登录入口
  • 收到补税点的分录
  • 2023车船税收费价格表图片
  • 锐志2.5新车报价
  • 网上报税失败什么原因
  • 税务一体化监督起主导作用的是
  • 股权转让和大宗转让区别
  • 青岛振兴税务师招聘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设