位置: 编程技术 - 正文

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

  • 会费收入增值税申报
  • 民非 企业所得税
  • 年初结转增值税社保如何做账
  • 城建税计税方法
  • 企业为自然人什么意思
  • 安家费需要缴纳个税吗
  • 个体工商户营业执照年检网上申报
  • 餐饮业成本的正确表述是
  • 增值税16点税降到13点,补缴税款怎么算
  • 邯郸银行公对公转账时间
  • 季度超了30万年度没超120
  • 顾客办理会员卡要退怎么办
  • 设备免费提供给客户使用
  • 短期借款的会计科目
  • 案例分析房产税会计分录怎么写?
  • 进项税额转出年末要结转吗
  • 公司用上年多缴的社保
  • 可以通过哪些渠道获得就业信息
  • 计提工资怎么做账务处理
  • 交易性金融资产和长期股权投资的区别
  • 销售已作进项税转出的固定资产怎样缴税?
  • 增值税的特殊销售方式有哪些?税务处理时怎样的?
  • 企业外籍个人子女教育补贴
  • 1697510110
  • 现金日记账余额为零要怎么填
  • 购入固定资产预算会计怎么做账务处理
  • 转包工程款怎么结算
  • 咨询公司流程完整
  • Win11 Build 22000.282正式版推送: 附更新修复内容汇总
  • 融资租赁ppt
  • 冲往年管理费用的账务处理是否涉及所得税
  • msmpeng.exe是什么进程
  • 交易性金融资产包括哪些项目
  • 中科院怎么赚钱
  • 汽车因质量原因泡水能退车吗
  • uniapp获取当前url
  • 小型微利企业减免所得税计算公式
  • 模型如何优化
  • php中自定义常量的函数是
  • python爬取网站数据毕业论文
  • php destruct
  • lsmod命令结果详解
  • python集合的并集符号语言
  • 小规模纳税人购入货物收到增值税专用发票
  • 酒店周转材料怎么摊销
  • 小微企业增值税起征点是多少
  • 购进交通运输设备怎么做账
  • 弃置费用的摊余成本
  • 待抵扣进项税额是二级还是三级
  • 跨年度少计提的企业所得税
  • 成本核算的意义与作用
  • 一个人可以有两张同一个银行的卡吗
  • 一般纳税人怎么算税
  • 主营业务成本账户属于什么账户
  • 跨月凭证出错如何调整
  • 代持的股份
  • 个体户做账流程新手必看
  • 资产评估资产如何入帐
  • 会计凭证装订的心得体会
  • 盗版win10系统
  • win7系统c盘太满了,如何清理
  • 微软宣布将GPT接入操作系统
  • bios界面uefi
  • windows8文件夹怎么加密
  • win7系统自带游戏在哪
  • 在win7上加装一个硬盘不显示
  • ExtJS Grid使用SimpleStore、多选框的方法
  • linux shell脚本命令
  • 怎么使用vue和axios连接后端
  • jquery自定义表单
  • javascript中对象的含义
  • unity中物体移动代码
  • jquery获取点击元素
  • python 网络应用
  • jquery跨域请求有哪些方式
  • js回调函数应用场景
  • 一般纳税人收到普通发票怎么做分录
  • 扬州地方税务局在哪
  • 2016年小微企业所得税优惠政策文号
  • 社保工资申报错了可以重新申请吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设