位置: 编程技术 - 正文

js实现瀑布流的三种方式比较(vue瀑布流实现)

编辑:rootadmin

推荐整理分享js实现瀑布流的三种方式比较(vue瀑布流实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js瀑布流布局,js实现瀑布流效果,瀑布流式页面布局代码,js实现瀑布流的实验报告,js实现瀑布流的实验报告,js实现瀑布流效果,js实现瀑布流的实验报告,js实现瀑布流的实验报告,内容如对您有帮助,希望把文章链接给更多的朋友!

瀑布流是一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格。

瀑布流特点:

1、琳琅满目:整版以图片为主,大小不一的图片按照一定的规律排列。2、唯美:图片的风格以唯美的图片为主。3、操作简单:在浏览网站的时候只需要轻轻滑动一下鼠标滚轮,一切的美妙的图片精彩便可呈现在你面前。

瀑布流布局实现方式:1、传统多列浮动

· 各列固定宽度,并且左浮动; · 一列中的数据块为一组,列中的每块依次排列; · 更多数据加载时,需要分别插入到不同的列中;

优点:

布局简单,应该说没啥特别的难点;

不用明确知道数据块高度,当数据块中有图片时,就不需要指定图片高度。

缺点:

列数固定,扩展不易,当浏览器窗口大小变化时,只能固定的x列,如果要添加一列,很难调整数据块的排列;

滚动加载更多数据时,还要指定插入到第几列中,还是不方便。

示例:

效果:

2、CSS3 样式定义

js实现瀑布流的三种方式比较(vue瀑布流实现)

优点:

直接 CSS 定义,最方便了;

扩展方便,直接往容器里添加内容即可。

缺点:

只有高级浏览器中才能使用;

还有一个缺点,他的数据块排列是从上到下排列到一定高度后,再把剩余元素依次添加到下一列,这个本质上就不一样了;

鉴于这两个主要缺点,注定了该方法只能局限于高端浏览器,而且,更适合于文字多栏排列。

示例

效果:

3、绝对定位 最优的一种方案,方便添加数据内容,窗口变化,列数/数据块都会自动调整;

优点: 方便添加数据内容,窗口变化,列数/数据块都会自动调整;

缺点:

需要实现知道数据块高度,如果其中包含图片,需要知道图片高度;

JS 动态计算数据块位置,当窗口缩放频繁,可能会狂耗性能。

思路:

1) 数据块排列(对容器中已有元素进行排列),算法步骤简述下:设置(块元素宽度一致)· 初始化时,对容器中已有数据块元素进行第一次计算,需要用户给定: a,容器元素 — 以此获取窗口总宽度; b,列宽度(块元素宽度); c,最小列数;·计算显示列数:窗口宽度除以一个块框宽度向下取整,并设置waterfall显示的居中·存储每列的高度· 获得列数后,需要保存每个列的当前高度,这样在添加每个数据块时,才知道起始高度是多少;· 依次取容器中的所有数据块,先寻找当前高度最小的某列,之后根据列序号,确定数据块的left,top值,left 为所在列的序号乘以列宽,top 为所在列的当前高度,最后更新所在列的当前高度加上这个数据块元素的高度,至此,插入一个元素结束;· 当所有元素插入完毕后,调整容器的高度为各列最大的高度值,结束依次调整。

2) 异步加载数据,包含两个步骤:· 绑定滚动事件,并确定预加载线高度值,即滚动到哪个高度后,需要去加载数据,其实这个就是列的最小高度值,这样当前滚动值和最小高度值比较一下即可判断出来,是否要触发加载数据;· 加载数据,函数传参,能提供加载数据函数和停止加载(加载多少时停止)函数,以更方便的控制。

标签: vue瀑布流实现

本文链接地址:https://www.jiuchutong.com/biancheng/385576.html 转载请保留说明!

上一篇:js运动应用实例解析(js做运算)

下一篇:原生JavaScript实现瀑布流布局(用原生js实现过什么功能)

  • 股东利润分配怎么做账
  • 二手房买卖避税违法吗
  • 外轮供应公司远洋运输供应公司的退税申报?
  • 应税劳务销售额怎么算
  • 企业所得税要交多少税
  • 收款金额比开票金额少是对方扣的手续费
  • 预付开发票加油后还能开吗
  • 积分兑换开始啦
  • 公司名下的车过户到个人名下费用
  • 其他收益是什么类
  • 汇算清缴税费怎么入账
  • 医院纯收入
  • 计提代扣代缴个人缴纳的社会保险费分录
  • 房地产公司转让土地
  • 转账支票背书转让样本
  • 新成立的公司银行存款如何入账
  • 别人送我免费赠品
  • 已提完折旧车辆可以卖吗
  • 月末结转所有收入类账户
  • 跨地区预缴税款需缴纳哪些
  • 公司买卖股票如何账务处理
  • 预付账款金额过大的原因
  • 增值税出口退税计入什么科目
  • 未给对方开票对方举报情况怎么写
  • 关于城建税教育费附加地方教育附加的计算
  • 专项发票和普通发票的税点
  • a104000期间费用明细表
  • 季度利润表上期金额怎么填
  • 金融企业贷款损失准备金
  • 国际货运代理免税怎么做账
  • 仲裁委判决还能上诉吗
  • 应税消费品用于连续生产应税消费品的
  • 代理报关费0税率
  • 公司车辆报废收入怎么入账
  • 共管帐户的特点是什么
  • 租赁合同法律风险
  • regsvc32.exe - regsvc32是什么进程 有什么用
  • retrorun.exe - retrorun有什么用 是什么进程
  • 房地产评估费计算公式
  • yii实现使用CUploadedFile上传文件的方法
  • 生产型出口企业免抵退
  • 其他业务支出的二级科目有哪些
  • php的implode
  • 去噪扩散概率模型
  • 解决方案啥意思
  • 应收账款的定义和特点
  • 自己买材料自己装修
  • 编写一个php程序,展示双引号和单引号的区别
  • 累计应缴预缴所得税怎么算
  • 前端bs是什么
  • 长期股权投资印花税计入什么科目
  • chrome插件开发拦截ajax
  • mongodb createindex
  • 未达起征点销售额怎么填申报表
  • 配电室增容验收标准
  • 报销有专票和普票,怎么出分录
  • 去参加博览会的英文
  • 季度所得税申报怎么弥补以前年度亏损
  • 捐赠做公益
  • 去年购进的货物怎么做账
  • 企业发生的开办费用计入营业外支出账户
  • 核定征收的一般纳税人进项税额抵扣
  • 持有至到期投资是债权投资吗
  • 发票怎么保管不会坏
  • 哪些可以做进项税
  • 如何设置营业费支付
  • win7跟xp怎样连接局域网
  • xp系统ie浏览器怎么升级
  • winpatrol.exe - winpatrol是什么进程
  • xp系统的本地连接在哪里打开
  • pqinit.exe - pqinit是什么进程 有什么用
  • win7系统桌面图标不见了怎么办
  • win7笔记本电脑
  • bootstrap要学吗
  • jquery动态设置css
  • linux查看目录的权限的命令
  • 蓝色的css代码
  • 安卓系统引导程序
  • android内存泄露监测
  • 青海的医疗保险费是多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设