位置: 编程技术 - 正文

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

  • 增值税开票软件客服电话
  • 牲畜资产科目包括哪些
  • 建筑劳务如何开三个点的发票
  • 未开票收入如何填写增值税申报表
  • 属于原始凭证的有哪些
  • 资产负债表中应付职工薪酬是负数
  • 用友u8如何计提折旧生成凭证
  • 非居民企业直接投资居民企业取得股息
  • 企业进行业务预算的编制技巧
  • 收到工伤赔偿款会计分录
  • 去年已认证发票红冲怎么报税
  • 货到票未到怎么入账
  • 公司基建维修承诺书
  • 折扣折让 红字发票账务处理
  • 以前年度费用未入账税务处理
  • 货样广告品出口需要开票吗
  • 共用水电费税前扣除比例
  • 小规模纳税人未开票收入如何做账
  • 建筑企业收到的商品怎么入账呢
  • 自然人出租房屋房产税
  • 新股东入股怎么写记账凭证摘要
  • 物流行业主营业务成本会计分录
  • 服务业的营业成本怎么算
  • 小规模查账征收增值税怎么算
  • 房地产预收账款是什么
  • 收到别人的文章或书,应该怎样表示
  • 偶然所得怎么缴纳个人所得税免税
  • 上年结转的广告费次年怎么入账
  • php add
  • 合同资产减值怎么填
  • aspnet_admin.exe进程是安全的吗 aspnet_admin进程信息查询
  • sfx.exe
  • vue中如何使用weboffice
  • 计提本月固定资产折旧会计科目
  • pnp.npn
  • 出口退税退的是啥
  • 商业企业积分赠商品如何计算企业所得税
  • 购进商品发生溢余的核算
  • 债权类股票有哪些
  • 表单校验html5
  • opencv如何使用
  • 未分配利润与净利润关系
  • html动画教程
  • 以小物件为话题写出背后的故事
  • 销售固定资产是属于销售货物吗?
  • 银行账户管理的直接责任人是共享中心核算会计
  • 待报解预算收入怎么做账
  • 开票服务名称可以自己添加吗
  • 汇兑应该计入什么科目
  • 消费税和资源税何时计入成本,何时计入费用
  • 收据和发票有什么用
  • 宿舍宽带费用
  • 所得税费用的核算方法叫
  • 固定资产增值税发票如何入账
  • 企业间贴现手续怎么办理
  • 招标代理公司用哪个版本什么意思
  • 债券发行后在市场上交易时是怎么确定交易价格的
  • 金蝶的数量金额明细账是怎么做的
  • 百旺金赋开票系统图标
  • 变更公司名称后银行如何做
  • window怎么样
  • win7鼠标自己移动
  • xp系统多了explorer进程
  • win7系统怎么禁止软件自启动
  • windows7旗舰版怎么打字
  • win10周年版
  • linux中shell脚本编写
  • 浅谈自己对教育的理解
  • javascript模块化规范
  • shell遍历sql查询结果
  • 异步promise原理
  • js事件循环过程
  • genymotion-unable to load virtualbox engine
  • 民办学校需要交工会经费吗
  • 增值税纳税申报时间
  • 运输发票抵税多少个点
  • 小规模纳税人改成一般纳税人怎么改
  • 企业吸收合并资质转移办理
  • 税务安装软件
  • 证券行业的税务问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设