位置: 编程技术 - 正文

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

  • 财产转让所得个人所得税优惠政策
  • 劳务公司计税税率
  • 小规模纳税人加油发票可以抵扣吗
  • 房地产开发公司排名
  • 企业所得税汇算清缴操作流程
  • 固定资产的净值等于
  • 购买的车位是否有产权证
  • 公司冲账发票做不够该如何处理合适?
  • 抹掉的零头怎么入账
  • 以资抵债是利空还是利好
  • 公司买了商品做活动会计分录
  • 网吧卖出那些零食怎么卖
  • 教育费附加是用来干嘛的
  • 发票开错导致不能按时入账该怎么处理呢?
  • 城建税本月计提下月缴纳怎么算
  • 企业个人所得税逾期未申报怎么办
  • 小微企业免征增值税申报表怎样填
  • 契税是不是土地出让金
  • 推广费属于什么税收编码
  • 应交企业所得税和所得税费用区别
  • 微软window
  • 赠送客户的商品怎么入账
  • windows 11预览版
  • yoosee怎么安装
  • linux怎么用微信
  • 收到服务费发票怎么做账务处理
  • win10开机强制进入修复模式
  • 房地产企业销售额扣除土地价款
  • 工地事故赔付
  • 企业所得税的缴费基数
  • php运用
  • 无形资产属于哪一类
  • javascript编写程序
  • 微信支付开发步骤
  • yolov5 教程
  • 前端如何适配移动端
  • opencv图像识别特定形状
  • phpcms怎么用
  • 哪一款macbook
  • 购进免税农产品进项税额转出
  • 外贸退税是算利率吗
  • 个人股东借款给公司涉及个税么
  • 帝国cms使用手册
  • 数据库管理中负责数据模式定义的数据库语言是
  • python insert方法
  • 主营业务收入在哪个报表里面
  • 公对公退款必须退至原账户的规定
  • 企业所得税汇算清缴扣除标准2023
  • 建设单位罚款
  • 商贸企业增值税税率是多少
  • 建筑企业收挂靠公司的管理费如何做账?
  • 对公账户付个人工资怎么入账
  • 失控发票进项税转出成本调整
  • 合伙人工资薪金
  • winxp cmd
  • win7升级win8.1
  • 一键ghost U盘版
  • mac系统怎么查看
  • win7系统cmd命令大全
  • ubuntu误删除内核
  • 个性化定制方案怎么写
  • Win10 Mobile 14342.1004快速预览版更新 提升电池续航
  • 从《AndEngine游戏开发实践指南》开始,学习AndEngine引擎
  • bc1998录制的css视频教程推荐新手看下
  • python中的文件读写
  • cocos2d怎么用
  • js闭包解决了什么问题
  • 修改bash_profile
  • 计算字符串的长度的函数
  • jquery keydown
  • unityshader插件
  • 每天一篇文章锻炼口才的文章
  • Cannot run program "/home/mohemi/Program/adt-bundle-linux-x86_64-20130729/sdk//tools/emulator": erro
  • python 代码缩进
  • 如何查询企业税务评级
  • 如何查询纳税信用等级证明
  • 组织收入原则三个务必
  • 上海电子税务平台开票不含税怎么改成含税
  • 医疗发票真伪查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设