位置: 编程技术 - 正文

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

  • 预缴增值税附加税需要计提吗
  • 金融业产值和金融业增加值有什么不同
  • 建筑类企业是否允许留抵
  • 租赁合同印花税率
  • 法人股东分红交什么税
  • 个人所得税生产经营所得税率
  • 小规模纳税人季报是哪几个月
  • 进项票错了但是销项票开出去了怎么办
  • 超市购物卡发票可以报销吗
  • 房地产公司将自建自用房产出售 土地增值税
  • 销售货物尚未收到会计分录
  • 过节发什么物资给员工好些
  • 从公司账户转给个人账户取出来发给员工做过节费
  • 公司增资麻烦吗?
  • 资产负债表年初余额是不是一直不变
  • 建筑安装税务分类编码为多少?
  • 如何申报固定资产投资
  • 文化事业费征收
  • 什么情况下企业不能辞退员工
  • 购进的出口货物如何入账
  • 停薪留职标准
  • 映泰主板系统重装
  • 普通发票用记账吗
  • PHP:oci_new_collection()的用法_Oracle函数
  • wordpress文章缩略图
  • win11如何设置安装位置
  • 一般纳税人什么情况下可以开3%的税率
  • 所得税和所得税税率
  • 无效借款合同自被确认为无效之日起无效
  • 付工程改造余款分录
  • 商业汇票的承兑银行必须具备下列条件
  • 安装nodemodules
  • php 写入excel
  • 注销报税是什么意思
  • 背书转让的步骤
  • 无法支付其他应用怎么办
  • 其他资本公积如何转出
  • 在vue项目如何引入异步组件?
  • go语言ui
  • mysql百万级数据分页查询优化
  • php和mysql的联合使用解决了
  • 预缴所得税亏损费用金额大会被监测到吗?
  • 作废的增值税普通发票怎么处理
  • 小规模差额征税可以开专票吗
  • sqlserver英文发音
  • 电脑计入固定资产了怎么抵企业所得税
  • 小规模纳税人开专票需要交税吗
  • 计提坏账准备金是什么意思
  • 加班费是计入应交税费吗
  • 税控盘开具增值税专用发票步骤
  • 医院药品进销差价规定
  • 逾期的押金收入
  • 注册资金未缴齐怎么处理
  • 企业接受非货币性资产投资的入账金额
  • 外经证缴纳税费用个人卡可以用吗
  • 季度申报表弥补以前年度亏损
  • 产品成本核算方法受那些因素影响
  • 会计账簿的设计原则有哪些
  • sqlserver数据库最快存储时间
  • win7系统安装win10 怎么安装
  • xp系统注册表空白怎么办
  • kvm虚拟化网络配置
  • centos 3
  • win7 手动输入用户名
  • windows10周年更新
  • shell检查语法错误
  • unity unity3d
  • event_base_new
  • python与c
  • unity3d音效
  • button button button
  • vs开发web教程
  • unity text
  • 安卓瀑布流
  • 安卓版本apk
  • 置顶聊天折叠怎么关闭
  • 用javascript
  • 税务局分局副局长什么级别的干部
  • 国家浙江税务局
  • 国航的电子票号是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设