位置: 编程技术 - 正文

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

  • 使用增值税发票的条件
  • 增值税科目及会计处理
  • 信息技术服务可以简易征收吗
  • 借贷必相等为什么是错的
  • 社保委托代发银行账号是空的
  • 异地销售存货如何确定纳税地点
  • 中小企业怎么避税
  • 当期进项税额大于销项税额
  • 已认证抵扣的发票如何红字信息表
  • 库存商品检验合格标准
  • 17点增值税发票能开吗
  • 出口退税报关单解密在哪下载
  • 旧税号的发票专用章还能使用吗
  • 消费税征收范围包括
  • 个税合理避税的意义
  • 个人对公益事业的认识与看法
  • 公司购买的一次性纸杯计入哪个科目
  • 服装外贸进出口
  • 公司注销后资产属于谁
  • 上个月开票这个月确认收入
  • 支付商业保险费属于什么现金流量项目
  • 定期定额征收的个体户怎么报税
  • 退货需要进行的操作
  • 鸿蒙系统怎么设置桌面小组件
  • icons是什么文件夹
  • 滞纳金和罚金计入哪个会计科目
  • 不用指令
  • 加工制造业包括
  • 跨年度坏账准备转回账务处理
  • 收到现金股利会影响利润吗
  • 建筑公司内账复杂吗
  • 境外支付佣金代扣代缴增值税
  • 企业所得税可以结转以后年度扣除的费用
  • 购买增值税税控系统如何抵扣增值税
  • php的时间戳
  • 智能优化算法书籍推荐
  • 接口多继承的写法
  • nodejs安装及环境配置 centos
  • 解压.xz文件命令
  • 税收优惠与政府补助对于企业研发来说哪个优惠力度大
  • 属于长期险种的是
  • 如何禁用笔记本键盘触摸板
  • 变电所用电
  • 管理费用的核算内容主要包括哪些
  • 小规模纳税人企业所得税怎么算
  • 扣交社保会计分录
  • 公司向法人借款有税务风险吗
  • 月末假退月初假领
  • 债券溢价什么意思
  • 外债借款利率
  • 发出库存商品没有发票
  • 个人承包工程如何缴纳税款
  • 破产清算的程序特点
  • 电脑开票怎么操作流程
  • 建筑业营改增后税务问题
  • 酒店的经济性质是什么
  • 强制删除快捷键是什么
  • 2008sql附加数据库
  • win10下面任务栏
  • win7桌面图标变成了lnk
  • 如何卸载影子还原软件
  • xp系统怎么调性能
  • hmies.exe是什么
  • surface pro7应用
  • win7命令提示符在哪
  • 有道词典encountered an improper argument
  • opengl矩形
  • 打开指定文件夹命令
  • python中数字运算
  • c# 抽象类的作用
  • 一个简单的合并单元
  • shell生成excel文件
  • javascript flash下fromCharCode和charCodeAt方法使用说明
  • python中getattr函数例子
  • 国家税务总局官网电子税务局
  • 股权转让税务备案时间
  • 宾馆增值税专用发票可以抵扣
  • 为什么10月份社保交不了
  • 深圳布吉下水径旧改
  • 依法征拆
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设