位置: 编程技术 - 正文

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

  • 补缴以前年度增值税和罚款、滞纳金的所得税处理
  • 收到劳务发票还未付款
  • 税收实体法和程序法分类
  • 安全生产费用怎么入账
  • 专家劳务费可以税前扣除吗
  • 总分机构是什么
  • 企业中征码全称
  • 核定征收财务报表
  • 工业企业所得税优惠政策
  • 平价转让股权如何交税
  • 各项费用报销附件
  • 一次性收到跨期租赁费会计分录
  • 企业外购的房屋建筑物是否属于非房地产企业
  • 向农户购买农产品如何入账
  • 发票认证但未抵扣需要在报表里填吗
  • 领用原材料的会计分录
  • 外贸出口的进项可以抵扣吗
  • 福利费提取后未使用能否税前扣除?
  • 进项税转出余额方向在哪一方
  • 工伤赔付是那个出钱呢
  • 装修费可以作为开办费吗
  • 分摊商品进销差额怎么算
  • 单位缴纳工会经费的会计分录怎么做
  • 公司成立之初
  • php中strcmp函数
  • 鸿蒙系统2.0怎么升级3.0
  • HTTP 400 错误是什么原因
  • 巴黎先贤祠的名言
  • 物业公司收的物业费用干什么了
  • php new
  • thinkphp框架搭建
  • html表白代码动态
  • 前端基础入门
  • 新版本idea怎么创建javaweb
  • 浅谈人工智能时代财务会计向管理会计的转型
  • laravel 自定义guard
  • 商贸公司对加工的影响
  • 购买土地需要缴纳增值税吗
  • 制造费用的科目
  • 会计人员报销差旅费应该给谁审核呢
  • 受托加工收到的材料怎么入账
  • cms访问出错
  • linux数据库导入命令
  • 电商行业退货退款流程
  • 事务所企业所得税
  • mysql的启动方法(windows 平台)
  • 视同销售要不要确认收入?
  • 对外投资损失可以抵税吗
  • 融资购入的固定资产如何记账
  • 补充登记法是全部都用蓝字吗
  • 股东打给公司的投资款
  • 职工教育经费还有什么经费
  • 应交增值税的结转怎么算
  • 存货取得长期股权投资
  • 企业购入材料收到供货单位开具的发票
  • 会计准则允许预提吗
  • 营业收入包括主营业务收入
  • 其它综合收益包括
  • 管理费用和财务费用期末有无余额
  • 财务报表中的存货包括哪些内容
  • 装修工程人工费占总价比例
  • 购入固定资产怎么折旧
  • ubuntuone
  • windows自带的应用程序
  • xp系统电脑文件损坏怎样修复
  • 服务器迁移至新服务器方法
  • win7系统如何创建管理员账户
  • win8怎么玩帝国时代2
  • linux获取操作命令的使用方法或参数选项内容
  • winxp慢怎么办
  • win7旗舰版64位系统无法进入安全模式怎么办?
  • centos8设置默认启动命令界面
  • &&在js中
  • js调用图片代码
  • JavaScript中的数据类型分为两大类
  • 深入JavaScript高级语法
  • android程序崩溃会被重启
  • 辽宁地方税务局招聘
  • 北京朝阳税务局办税大厅
  • 个税3月份申报2月的个税?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设