位置: 编程技术 - 正文

纯js实现瀑布流布局及ajax动态新增数据(vue 瀑布流)

编辑:rootadmin

推荐整理分享纯js实现瀑布流布局及ajax动态新增数据(vue 瀑布流),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端实现瀑布流,js实现瀑布流效果,js实现瀑布流效果,css瀑布流效果代码,html 瀑布流,js实现瀑布流效果,html 瀑布流,jquery瀑布流代码,内容如对您有帮助,希望把文章链接给更多的朋友!

本文用纯js代码手写一个瀑布流网页效果,初步实现一个基本的瀑布流布局,以及滚动到底部后模拟ajax数据加载新图片功能。

缺点:

1. 程序不是响应式,不能实时调整页面宽度;

2. 程序中当新增ajax模拟数据图片后,是将整个页面的所有图片都重新定位一次。

3. 程序是等所有图片加载完成后再读取图片的尺寸,实际中肯定不能这样做。

4. 实际项目中,应该由后台程序给出图片尺寸值,在js代码中直接使用图片的width属性。

本程序思路:

html结构:

一、初始化布局

1. 设置#container为position:relative;

2. 设置.box为float:left;

3. 网页加载后对所有图片进行定位;

  3.1 图片宽度是固定的,计算出当前页面每行能容纳的图片数num,并得出#container的宽度,然后设置页面居中;

  3.2 循环遍历所有图片,前num个图片默认float布局作为第一行,并存入数组BoxHeightArr = [];

  3.3 第一行布局完成后,排布下一个图片,并更新BoxHeightArr[]:

纯js实现瀑布流布局及ajax动态新增数据(vue 瀑布流)

    3.3.1 将下一个图片放到第一行最矮图片的下方(用position:absolute定位),也就是BoxHeightArr[]中高度最小的那一列,记录下列数的索引值:minIndex;

    3.3.2 更新BoxHeightArr[]中最小的那个值(BoxHeightArr[minIndex]+当前图片的高度);

  3.4 重复循环3.3步骤,直到所有图片都排布完成

二、实时监测滚动高度,是否要加载新数据

1.初始化完成后得到最后一个图片距离顶部的高度: lastContentHeight

2.用window.onscroll = function(){...}

  实时监测当前页面的滚动高度为:scrollTop

  实时监测当前页面视窗高度为:pageHeight

3. 当页面监测到:lastContentHeight < scrollTop + pageHeight 时,用ajax获取新增图片的json数据。

三、页面底部新增内容

1. 用一个循环,先创建一个新的图片容器,添加到底部,然后将json数据中相应的图片数据如路径等信息写入该容器完成添加图片。

2. 所有新增图片添加完成后,对整个页面的所有图片及布局重新执行步骤一的初始化操作。

项目文件夹:

index.html: 预先置入部分图片数据

style.css:

app.js:

效果图:

标签: vue 瀑布流

本文链接地址:https://www.jiuchutong.com/biancheng/373415.html 转载请保留说明!

上一篇:原生JavaScript实现Ajax的方法(原生javascript开发)

下一篇:JS实现的网页上的颜色拾色器(js怎么做网页)

  • 税控盘维护费会计分录怎么写
  • 加油站购进成品油怎么做账
  • 购买免税产品的app
  • 企业视同销售的税法依据是什么?
  • 上月社保未扣款怎么回事
  • 记账凭证附单据是有哪些
  • 工程 开办费
  • 给客户提供的价值
  • 企业资产折旧抵扣所得税
  • 购买润滑油分录
  • 城投公司代表政府出资工程交税吗
  • 出口押汇与打包押汇区别
  • 工人保险一个月多少钱
  • 增值税设备抵扣怎么抵扣
  • 增值税专用发票和普通发票的区别
  • 计提费用的时候可以计提税金吗
  • 以前年度的税务怎么查
  • 增值税专用发票可以开电子发票吗
  • 预缴税款附加税怎么弄
  • 小型微利企业所得税优惠政策2023
  • 股东入资印花税怎么计算
  • 普票和专票的税率分别是多少
  • 免征增值税和附加税区别
  • 旅游业开票问题总结二
  • 月工资3000元,工伤7级能赔偿多少钱
  • 视同销售行为销项税额该怎么核算
  • 内账一定要权责发生制吗
  • 红字信息表没有编号
  • 公司两套账怎么记账
  • 油漆的消费税
  • 结转本月销售成本的会计分录
  • 薪酬支出包括什么
  • 库存股股本属于什么科目,借贷方向
  • 权益法核算的投资收益要做递延所得税吗
  • 跨年度增值税发票作废怎么退税
  • 税金及附加包括个人所得税吗
  • 电脑每次开机都要磁盘检查是什么原因
  • 公司赞助商
  • 发生坏账时的会计处理
  • php数组函数题目
  • 厂房押金收据范本
  • 先出库还是先发货
  • 什么情况下专硕可以调剂学硕
  • php通用分页类
  • phpcgi远程代码执行漏洞
  • 增值税发票可以作废重新开吗
  • js处理表格数据
  • 什么叫相机标定
  • 处置长期股权投资产生的收益计入什么科目
  • 怎样申请土地增值税补贴
  • 借款合同按什么缴纳印花税
  • mysql workbench简介
  • mysql索引失效的几个场景
  • 发票金额少于付款金额怎么做账
  • 专用红字发票如何开具
  • 企业稳岗补贴计算公式
  • 购买办公用品属于什么凭证类型
  • 出口退税会计处理流程
  • 异地预交所得税分录
  • 暂估入库发票差异调整
  • 债权投资的交易费用计入成本还是利息调整
  • 报销车辆通行费怎么做账
  • 借款利息如何支付
  • 应收账款记账凭证怎么写
  • 公司的钱借给个人需要交什么税
  • 发票什么时间认证
  • 怎么打开设置管理
  • 原始凭证的基本内容
  • sql语句的调优
  • 如何更改win8开始菜单
  • winxp显示设置
  • 如何卸载影子还原软件
  • 保存 linux
  • Win8出现奇怪爆音的完美解决方法
  • form表单中input设置为readonly和disabled的区别
  • android系统联网
  • python append 浅拷贝
  • 村财审计报告怎么写
  • 河北省2021城乡居民医保优惠新政策
  • 如何加强木材加工质量
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设