位置: 编程技术 - 正文

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能实现的简单效果)

  • 零售价是含税价还是不含税价
  • 小规模免收增值税的收入范围
  • 法人其他应付款在借方表示
  • 当前企业不存在是怎么回事
  • 递延收益负债类科目
  • 库存现金和银行存款的区别
  • 应解汇款科目
  • 废物处置费如何做分录?
  • 支付员工提成奖金怎么做会计分录?
  • 预收装修款并开发票如何转成本?
  • 作为展示用的物品
  • 维修费增值税
  • 连号发票税务风险
  • 广告制作费属于现代服务吗
  • 企业法人和股份的关系
  • 油卡充值属于什么行业
  • 怎么查询公司有没有开社保户
  • 挂靠公司代收入税金如何做分录?
  • 2019附加税优惠政策
  • 部队医院学校都没有税号吗
  • 收到购货方退回的发票联和抵扣联如何处理?
  • 如何使用U盘启动盘进行分区
  • 华为鸿蒙系统怎么降级版本
  • 暗格里的秘密电视剧彩蛋百度网盘
  • 配件进出库账目怎么做
  • 电子承兑汇票怎么用
  • 质量赔偿金 计入什么科目
  • 小型微利企业所得税率
  • 排污费计入应交税费吗
  • win10磁盘碎片整理打不开
  • 其它应收款的内容
  • 福利部门领用原材料进项税额可以抵扣吗
  • 律师异地办案家属要跟着吗
  • 退休返聘人员是否享受工会福利
  • 卡拉公路
  • java基础笔试题在线考
  • 服务什么行业
  • 返还土地出让金违法吗?
  • 购买方如何开具红字发票给销售方
  • 进项税额转出可以为负数吗
  • 个体户需要交什么保险
  • day11-Servlet01
  • python操作yaml文件
  • 印花税核定征收比例取消了吗
  • 出租车手撕票可以税前扣除吗
  • 进项税额在贷方怎么办
  • 增值税专用发票上注明的价款含税吗
  • 当月销售次月开票怎么做账
  • 出租固定资产租金属于什么收入
  • 开办费怎么做帐
  • 总资产法怎么计算公式
  • 加油充值卡能报销吗
  • 以前年度不合规发票如何调年报
  • 小规模纳税人差额纳税申报表
  • 装修费用税法规定有哪些
  • 以前年度损益调整属于哪类科目
  • 残保金是公司交还是员工交
  • 对公账户 发票
  • 企业所得税和增值税重复收税了吗
  • sql server 存储过程 超时
  • sysbench内存性能测试
  • mysql union join
  • windows8怎么隐藏任务栏
  • win10麦克风加强没有了
  • win10version20h2的03累积更新
  • gnaupdaemon.exe是什么
  • win8 metro界面
  • 在ubuntu上安装apache
  • 电脑因故障出现问题而启动
  • android打包原理
  • css如何控制图片位置
  • unity中time.time
  • python 初级
  • jQuery.ajax实现根据不同的Content-Type做出不同的响应
  • 陌陌2021年最近事件
  • 有几种导航
  • android 全局viewmodel
  • 企业代理申报还用自己申报吗
  • 环保税怎么申报?看完你就明白了
  • 陕西电子税务电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设