位置: 编程技术 - 正文

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

  • 在电子税务局可以抄税吗
  • 所得税的记账凭证
  • 企业向银行贷款属于融资吗
  • 企业代扣代缴个人所得税
  • 库存商品月末必须结转吗
  • 电子税务局怎么登录
  • 工资可以直接进管理费用吗
  • 税收实体法要素中的基础性要素
  • 预付款项包括哪些项目
  • 汽车折旧年份
  • 教育协会发的证有用吗
  • 存货跌价卖出需要进项转出吗
  • 期初未交增值税借方余额
  • 发票开具提示
  • 企业取得的信托计划分红缴企业所得税吗
  • 普通发票查不到信息怎么办
  • 发票从7月1日起开
  • 房屋的契税印花税的会计分录
  • 提回对公户收款是什么意思
  • 资本公积转增资本个人股东是否纳税
  • 工资薪金所得的个人所得税筹划方法
  • 政府无偿给企业划拨土地是否需摊销
  • 查账征收的个体户注销流程
  • windows 10鼠标如何操作
  • 销售费用营业费用的区别
  • 公务车加油入什么科目
  • 办公室椅子固定
  • 递延负债减递延资产
  • 公司出售已经提完折旧的机器
  • 无偿调入固定资产账务处理
  • .ico是什么文件
  • phpipam使用
  • 公司法人变更账户没有改有影响吗
  • php抽奖程序源码
  • 百慕大玛丽号
  • php连接数据库mysql做登录页
  • 卷积神经网络课程
  • php sha1加密 解密
  • 可供出售金融资产的会计处理
  • 哪种银行贷款利息最低
  • mysql内连接查询使用汉语作为官方语言的所有国家
  • phpcms建站教程
  • 增值税发票如何作废流程
  • 收到赠送的货物会计分录
  • mysql组合
  • 购买加油卡需要什么证件
  • 管理费用主要核算哪些内容
  • 税款减免怎么做分录
  • 每季度末是什么意思
  • 政府补助会计处理方法由总额法变为净额法
  • 接受现金捐赠怎么做会计分录
  • 银行承兑汇票如何签收
  • 预付工程款该怎么记账
  • 购买农副产品抵扣进项税的规定
  • 股东打到公帐上怎么做账
  • 水利建设基金怎么交
  • 税务会计每个月几号需要干工作流程
  • mysql unique option prefix myisam_recover instead of myisam-recover-options的解决方法
  • hosts文件不起作用
  • win8系统和win7哪个好
  • 进入pe系统后c盘变成了e盘
  • 小米4刷windows 10
  • 无法安装windows xp
  • 系统导航栏已禁用怎么办
  • win7一进电脑是花屏
  • 固定ie浏览器
  • win10下载英雄联盟运行没反应
  • linux查看开机运行时间
  • 下载的mt4安装成了mt5
  • win8.1怎么用
  • win10安全问题
  • [置顶]星陨计划
  • pyinstaller指定python2
  • jQuery解析XML 详解及方法总结
  • First Class: UI of Android
  • 诺诺开票软件怎么领用发票
  • 土地增值税按什么价格
  • 车辆购置税是国税吗
  • 税务师 领证
  • 2023年企业所得税计算公式表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设