位置: 编程技术 - 正文

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

  • 注销空白缴销发票流程
  • 理财产品分红和不分红的区别
  • 个体季度申报怎么写
  • 个体工商户是否家庭经营的区别
  • 取得保险赔偿的会计分录
  • 母公司为子公司担保是利好还是利空
  • 报销粘贴单怎么写
  • 赠送产品能直接用吗
  • 专利技术评估价值入股价偏高说明什么
  • 业务招待费取得的专票可以抵扣吗
  • 前程无忧靠什么赚钱
  • 小规模纳税人开专票
  • 研发费加计扣除75%政策
  • 促销活动赠品应如何账务处理
  • 航道疏浚服务属于什么服务
  • 耕地占用税与土地出让金
  • 娱乐行业缴税
  • win11如何启用远程访问
  • 以前年度少计费用,调整分录
  • 应付账款的暂估入账
  • 企业之间的往来款现金流
  • win11文件类型怎么改
  • redhat5.6安装
  • pddocument.load
  • 怎么用老毛桃u盘装win7系统 老毛桃u盘装win7系统教程图解
  • 取得专票怎么结转销售成本
  • 套期工具的会计分录
  • 企业年金在缴费阶段涉及的税种包括
  • 出售固定资产申报表收入与损益表收入不一致
  • anaconda虚拟机
  • cloa框架
  • 演员片酬要分给经纪公司吗
  • 手把手带你做一件事
  • vscode终端显示
  • 小规模升级一般纳税人后可以降为小规模吗
  • 新项目分哪几个阶段
  • 下列纳税人不得适用核定征收企业所得税的有
  • 商业折扣,现金折扣,销售折让的核算特点
  • 员工出差的费用计入什么科目
  • 金融资产发生减值的客观证据包括哪些
  • 代扣代缴个人所得税账务处理
  • 帝国cms自动推送插件
  • dedecms 授权
  • 公司交1500五险一金是什么水平
  • 工程施工二级设哪些明细
  • 企业应纳税额计算直接利息的应纳税额
  • 备用金有发票抵扣吗
  • 计入职工福利费的房租折旧属于人工成本吗
  • 应收账款是指什么
  • 记账凭证后面附什么原始凭证
  • 公司法人的车辆给公司用可以报销费用吗
  • 个税异地缴纳后果
  • 预付款开了发票
  • 公司转给其他公司的投资款
  • 普票与专票有什么区别报销
  • mysql改造
  • windowsserver2008r2密码重置
  • 将Sublime Text 2固定到Ubuntu启动器的方法
  • linux中git命令
  • nvm是啥
  • linux系统的翻译软件
  • -f linux命令
  • 如何彻底删除超级QQ秀
  • win10系统预览版
  • androidstudio listview
  • dev c++怎么配置环境
  • cocos lua教程
  • cocos2d schedule
  • python数字图像处理库
  • javascript table
  • 可以生成选区的方式是使用
  • android 图片视频轮播框架
  • python操作mongodb数据库
  • substrate框架原理
  • 个体户一直没有年报
  • 成都税务二维码扫描
  • 税务负责人
  • 企业的财务是什么
  • 2021年社保又涨价了
  • 租房税费怎么算的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设