位置: 编程技术 - 正文

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

  • 向银行借入短期借款偿还前欠货款
  • 用友项目核算科目的项目不能为空
  • 应付票据与应付账款
  • 企业构建固定资产支付的现金应列示在现金流量表
  • 注册资本可以是0元吗
  • 汇算清缴所得税退税会计分录怎么做
  • 知道税额怎么算含税金额
  • 不进行工商登记会怎样
  • 滞纳金为千分之二从何年开始实施
  • 建筑行业机械租赁费计入什么科目
  • 企业的房产税节税有哪些方案?
  • 政府补贴项目申报流程
  • 高原补贴算工资吗
  • 携程电子发票可以发到QQ邮箱吗
  • 一般纳税人上个月没有申报这个月申报不了
  • 医院开发票需要税号吗
  • 刷银行卡消费安全吗
  • 统借统还定义
  • 小规模企业所得税优惠政策最新2023
  • 普票需要缴纳印花税吗
  • 政府收费的目的是什么
  • 2021年个人社保代扣失败
  • 华为mate pro翻转静音
  • Win10 20H2 KB5001391补丁包更新内容汇总
  • qqprotect.exe是什么进程?怎么结束此进程?
  • 存货跌价准备怎么理解
  • 安装win7前需要手动格式化c盘吗
  • 销售合同怎么计算印花税
  • 企业购入固定资产在每期末应使用公允价值法进行计量
  • 个人医疗保险怎么取出来
  • 期货公司向客户收取的保证金属于谁所有
  • iframe frame
  • 房地产企业项目开发法律风险
  • 对公账户转入对私账户
  • 合同内容和开票内容不一致
  • 叶面积指数名词解释
  • 基于51单片机的电子秤设计
  • javaweb项目开发流程
  • 广告宣传制作
  • 人力资源外包服务企业
  • 邮寄的发票对方没收到怎么办
  • mysql一对多关系如何一次性查出来
  • vue$router
  • Linux下MySQL数据库的主从同步复制配置
  • 如何利用税收经济效应实现税收的宏观调控目标
  • 购进已经折旧提完的二手车
  • 软件企业研发费用
  • 电脑计入固定资产了怎么抵企业所得税
  • 一般纳税人的劳务公司的税率
  • 外埠存款会计分录怎么写
  • 没收租赁保证金要交增值税么
  • 发票遗失证明怎么写范文
  • 实收资本相关认定
  • 工伤 保险赔付
  • 汽车属于固定资产吗?如何计提折旧
  • 固定资产折旧完了怎么做账
  • sql server自定义类型怎么写入备机
  • Windows Server 2008下 驾驭拨号上网
  • mac声音无法调节
  • windows route metric
  • linux操作系统百度百科
  • win10周年版
  • smss.exe什么意思
  • 迅雷看看电脑版 下载
  • 简单解析空中三角测量的意义
  • 音频焦点是什么
  • Python插件怎么安装
  • eclipse4.9.0安装windowbuilder
  • js数字跳动增加效果
  • 防止shell命令注入
  • shell中大括号
  • hadoop运行python程序
  • js == ===区别
  • javascript教程 csdn
  • eclipse的ssh框架搭建
  • 电子税务局获取验证码异常
  • 在本地买车怎么上外地牌照
  • 水资源税征收标准2022
  • 契税为什么要补贴
  • 税务登记制度是对纳税人识别的完善
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设