位置: 编程技术 - 正文

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

  • 城市公交算国企吗
  • 工会经费按什么比例交
  • 企业所得税留抵税额会显示在申报表上吗?
  • 经营所得和企业所得
  • 完税价格是含税价格吗?
  • 发行股票的手续费计入什么费用
  • 医院都需要交什么税
  • 勘探费收费标准
  • 借贷必相等为什么是错的
  • 非流动资产处置损失包括哪些
  • 车辆租赁发票税点
  • 企业销售软件需要结转成本吗
  • 小规模房产税减免
  • 减免的所得税额怎么入账
  • 个人设备卖给公司
  • 货物出口到保税区复进口
  • 公允价值变动是减值吗
  • 营改增是什么时候提出的
  • 合同里包括产品销售和服务如何开票?
  • 非本单位费用列支 违反
  • 企业所得税减免优惠政策
  • 开增值税专票交多少税费
  • 个人独资企业收款码
  • 公司购买办公用品300元,以现金支付,购入后即被领用
  • 股东退股会计科目
  • 营改增服务业税负下降
  • 去银行补充企业信息流程
  • 销售退回如何做账
  • 吸甲醛最好的植物是什么?
  • 预计负债账务处理会计分录
  • 行政事业单位向企业借款违反了什么规定
  • 医生规培生补贴每年多少钱
  • 工业企业生产成本核算表
  • 前端获取当前地址
  • 关闭系统的命令位于什么菜单中
  • 债劵利息怎么计算
  • lstm多对多
  • 其他货币资金明细账填写样本
  • 委托加工的加工费是含税的吗
  • flex的几个常用布局
  • 收到税务局退回的企业所得税分录
  • 企业没有实缴
  • pytorch卷积操作
  • 常用激活函数及其导数
  • ps制作折扇效果图
  • 支付厂房租赁费怎么入账
  • 购入固定资产预付款怎么做账
  • 增值税加计抵减政策10%和15%
  • 公司与公司的往来款计入什么科目
  • 库存现金错账怎么调整
  • 复利和年金的区别通俗易懂的
  • 企业运费如何开票
  • 销售给回扣的话术
  • 高新技术产品收入归集依据
  • 支付给其他公司的借款属于什么现金流
  • 银行承兑汇票收款业务流程
  • 技术服务费怎么做分录
  • 结转资金和结余资金
  • 一家企业至少要运转几个月以上
  • php 访问数据库
  • sqlserver msdb
  • linux中yum的使用
  • windows ip地址在哪里设置
  • win10系统的邮件和日历跟outlook一样嘛
  • windows.old文件夹有啥用
  • win10预览版bug
  • centos删除virbr0
  • win10在更新界面怎么办
  • win7系统误删文件可以恢复吗
  • win7如何卸载打印机驱动程序
  • js 获取ua
  • bootstrap怎么学
  • bootstrap 网格
  • unity只执行一次的方法
  • js鼠标滑动特效
  • jQuery插件使用
  • 月度申报如何改为季度申报
  • 广州地税网上社保怎么交
  • 亳州契税补贴如何领取
  • 个人的稿酬所得采用什么税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设