位置: 编程技术 - 正文

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

  • 个人退税需要多少天
  • 小规模纳税人企业所得税计算
  • 没达到起征点需要申报吗
  • 股东分红需要开股东会决定吗?
  • 联营企业属于企业吗
  • 小规模一季度不超过45万
  • 发票章坏了能自己刻吗
  • 行政单位发过节费违法吗
  • 收到货款未开发票怎么做分录
  • 增值税税收返还政策
  • 应付股东款可以结转实收资本吗
  • 违规费用处理
  • 从境外取得的佣金
  • 停车场吗
  • 预缴增值税怎么填表
  • 房产税税率和应纳税额
  • 批发行业增值税税负率是多少呢
  • 民办非企业缴纳失业保险吗
  • 电子账册需要缴纳印花税的规定是怎么说?
  • 住宿费进哪个科目
  • 装修费用资本化的条件
  • 开票金额比收入高怎么办
  • 收到客户赔偿款计入什么科目
  • 没有社保的工人怎么办
  • 联想g40开机屏幕一直闪
  • 其他收入工会经费计税依据
  • 以前年度应收账款错误如何调整
  • 个人独资企业每月开票金额
  • 房产税的征收范围为
  • 注册表怎么启动
  • Windows 11 Build 22000.176 (KB5006050) 更新推送(附更新内容+安装)
  • Mac怎么设置默认排序方式
  • linux的基础知识
  • php bcmul
  • 确认应付职工薪酬是借方还是贷方
  • 内部退养如何缴纳个人所得税
  • 货到付款怎么做账
  • 注册资本增加了
  • 补充养老保险费扣除限额
  • php做网页
  • 资产减值会计处理对利润的影响
  • 前端es6是什么意思
  • nerf代码
  • idea 创建maven项目读取pom报错
  • 新企业所得税实施细则
  • spring整合mongodb
  • 视同销售的会计处理是指?
  • 商业承兑汇票在网银上怎么查询
  • sql解析执行顺序
  • 捐赠的增值税可以抵扣吗
  • 出租机械设备
  • 总账科目有应交税费对吗
  • 暂估入账会计科目
  • 抵扣认证的发票怎么做账
  • 进项税转出补缴增值税 城建税及两费
  • 税务局退款会计分录
  • 直接计算法是依据零件图样上给定的尺寸
  • mysql 正则表达式 是否包含字母
  • winxp关机立马自动重启
  • 提高系统能力
  • 服务器迁移至新服务器方法
  • 你能可能
  • winpsd.exe - winpsd是什么进程
  • 批处理 计算
  • Python win32com 操作Exce的l简单方法(必看)
  • vue assign
  • css模糊滤镜
  • unity自动寻路插件
  • js cookie用法
  • sql服务3417
  • bootstrap 标签
  • python的字符串处理
  • document对象常用方法
  • 如何将位置信息生成二维码
  • jquer选择器
  • python字典常用操作以及字典的嵌套
  • 英语流利说的简单介绍
  • 电子税务局怎么添加银行账户信息
  • 02112366电子税务局
  • 扶贫绩效目标申请怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设