位置: 编程技术 - 正文

纯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怎么做网页)

  • 发生无偿赠与行为怎么办
  • 城市维护建设税的计税依据是什么
  • 利润10万企业所得税多少
  • 互助资金协会科目
  • 工资走账是什么意思
  • 期末现金及现金等价物余额公式
  • 下岗职工可以享受低保吗
  • 经纪代理服务怎么做分录
  • 营业外支出罚款要交税吗
  • 委托加工物资贷方
  • 网银年费属于财务费用哪一项
  • 税务返还手续费发放给个人需要合并扣税吗
  • 实习生需要缴纳个税吗?
  • 增值税专用发票抵扣期限
  • 营改增前的工程款现在怎么开票
  • 旅游企业小规模纳税人差额征收
  • 合同开票金额一定等于合同额吗
  • 小型微利企业普惠性
  • 福利费提取后未使用能否税前扣除?
  • 增值税纳税申报实训心得体会
  • 小规模企业需要汇算清缴吗
  • 企业债券投资利息怎么算
  • 租入固定资产装修
  • 纳税评估调整
  • mac打不开网页但是可以上微信
  • 华为mate手机sim卡怎么插
  • w10系统搜索
  • 财务费用的冲减什么意思
  • 销售折扣单独开票
  • thinkphp框架介绍
  • php面向对象优点,缺点
  • 跟银行借入长期存款
  • gws.exe是啥
  • php操作json
  • mysql分区分表原理
  • 医院执行政府会计制度补充规定
  • 工具人
  • 前端可以用jsp写吗
  • vue 响应式自适应布局
  • 什么叫点云数据
  • 存储器的示意图
  • 劳务派遣服务是收派服务吗
  • 公司给员工的福利语句
  • 织梦产品详情页相关产品推荐调用代码
  • 公司租个人房屋交什么税
  • 代收代缴水费可以加多少损耗
  • 收到抵扣发票怎么做分录
  • 帝国cms会员发布信息数量
  • 现金溢余涉及的科目
  • 营改增后新纳入增值税征税范围的有
  • 原值净值怎么算
  • 销售二手固定资产
  • 厂区地面硬化施工方案
  • 预收一年房租的会计科目
  • 公司处理旧车增值税怎么交
  • 进项税额转出期限是多久
  • 汇算清缴前跨年调账怎么调
  • 房产税征收标准2020
  • 企业所得税汇算清缴操作流程
  • 存货周转率多少算低
  • 转账支票需要知道开户行吗
  • 资产减值损失和资产减值准备的区别
  • 仓管需要会计证吗
  • 企业预付账款的分录
  • sql修改表的所属空间
  • sql分几类
  • 分页存储过程包括
  • mysql怎么把列变成行
  • windows xp简单操作教程
  • Linux中systemd target命令使用详解
  • linux使用vi编辑文件
  • win10 1511版本升级到1803
  • js信息框
  • wget在windows
  • nodejs 调用命令行
  • Vuforia How To Use Android Plugins in Unity Apps
  • 社保欠缴可以放弃吗
  • 2020年海南个人所得税新规定
  • 珠海车船税的缴纳地点
  • 城市维护建设税属于什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设