jquery实现瀑布流

案例分析

  • 首先,它的每个图片是等宽的
  • 其次,除第一排正常显示其余的图片都会显示在上一排中高度最小的那个图片的下面
  • 最后,就是根据最矮图片所在位置的宽高来,决定绝对定位设置图片显示的位置

效果图

实现步骤

  • html结构
<div class="container"><div class="box"><div class="content"><img src="./image/1.jpg" alt=""></div></div><div class="box"><div class="content"><img src="./image/2.jpg" alt=""></div></div><div class="box"><div class="content"><img src="./image/3.jpg" alt=""></div></div></div></div>
  • css样式

具体就是对每个boxdiv浮动并设置样式

        * {padding: 0;margin: 0;}.box {position: relative;float: left;margin: 10px;}.content {padding: 15px;border: 1px solid #ccc;box-shadow: 0 0 5px #ccc;border-radius: 10px;}.content img {width: 200px;height: auto;}
  • js(jquery)代码

主要是根据一排中高度最小的宽度个高度进行绝对定位的设置

<script>$(function () {//jQuery代码imgLocation()function imgLocation() {var box = $('.box')var num = Math.floor($(window).width() / box.eq(0).width())var boxHeights = []box.each(function (index, value) {var boxHeight = box.eq(index).height()if (index < num) {boxHeights[index] = boxHeight} else {var minHeight = Math.min.apply(null, boxHeights)var minIndex = $.inArray(minHeight, boxHeights)$(value).css({'position': 'absolute','top': minHeight,'left': box.eq(minIndex).position().left});boxHeights[minIndex] += box.eq(index).height()}})}})</script>

根据鼠标的滚动动态的加载图片

案例分析

这里的动态是主要是模仿动态加载数据(伪动态)

  • 首先,根据鼠标滚动的大小和界面的高度判断是否要动态加载
  • 其次,就是访问数据,并动态形成jquery数据类型
  • 最后,把生成的数据追加的.container中进行显示

效果图

实现步骤

  • htmlcss的代码都一样这里就不重复写了
  • js代码

主要是判断什么时候新增图片数据,新增后插入到模板就行了

其中的dataImg就是模仿的假数据

var dataImg = { 'data': [{ 'src': '1.jpg' }, { 'src': '2.jpg' }, { 'src': '3.jpg' }, { 'src': '4.jpg' }] }window.onscroll = function () {if (scrollside()) {$.each(dataImg.data, function (index, value) {var html = `<div class="box"><div class="content"><img src="./image/${value.src}" alt=""></div></div>`$(html).appendTo($('.container'))})imgLocation()}}function scrollside() {var box = $('.box')var lastboxHeight = box.last().get(0).offsetTopvar documentHeight = document.body.scrollHeight + 130var scrollHeight = $(document).scrollTop()console.log(lastboxHeight, scrollHeight, documentHeight)return (lastboxHeight < scrollHeight + documentHeight) ? true : false}oxHeight, scrollHeight, documentHeight)return (lastboxHeight < scrollHeight + documentHeight) ? true : false}

jQuery动态加载瀑布流相关推荐

  1. jquery动态加载问题

    对于append的元素,原有的方法不生效 解决:用on方法 找到的:http://www.zhidao91.com/jquery-html-live-on/ 解决使用jQuery采用append添加的 ...

  2. RecyclerView加载瀑布流,图片自适应问题

    在使用recyclerView加载瀑布流时,由于图片加载慢于item绘制,从而导致item中的图片无法正常显示,不是被压缩就是拉伸. 解决方案: 1.后台给一个图片的原始宽高,在recyclerVie ...

  3. jquery 动态加载插件

    jquery 动态加载插件 插件自己编写的请注意使用权限 //The MIT License (MIT)//Copyright (c) 2017 Jonny Su//Permission is her ...

  4. 【Jquery】Jquery动态加载css文件

    前言 很多时候我们需要在页面中引用外部的css文件,下面将介绍一下如何通过Jquery动态加载css文件 方式一(Jquery) var cssFileUrl='../css/home.css'; i ...

  5. (一)JQuery动态加载js的三种方法

    Jquery动态加载js的三种方法如下: 第一种: $.getscript("test.js"); 例如: <script type="text/javascrip ...

  6. jQuery动态加载select下拉列表

    需求说明: 以前使用的select下拉列表都是静态的,select 的option数据都是写死的.现在项目中的select需要根据不同的场景使用不同的数据,解决方式就是动态加载option数据. 代码 ...

  7. jquery 动态加载js插件

    作用描述: 在H5页面直接加载插件,有时可能在js使用到时没有记载完成,如果不进行二次加载及判断,程序可能就此卡壳,无法继续运行.通过jquery动态多次判断加载,保证插件的完整加载及使用. 解决方案 ...

  8. Php资讯瀑布流模板,无限下拉加载瀑布流zblogphp模板 还有自适应+seo优化-收费zblogphp模板-天兴工作室...

    主题更新: 2019年01月11日更新:此次更新较大,请老用户先浏览演示网站确定符合需求后再升级. 1.增加主题自带seo配置(新增seo标题和间隔符): 2.大幅度优化了界面,彻底修复了某些分辨率下 ...

  9. 关于JQUERY动态加载页面时的JS失效的问题

    加载页面后一些JS特效或CSS特效不起作用,简单的方法是重新加载一下JQUERY的特效函数.

最新文章

  1. 你有哪些deep learning(rnn、cnn)调参的经验?
  2. NOIP2009 潜伏者
  3. Jmeter CSV 参数化/检查点/断言
  4. SAP Basis如何显示SAP中所有用户列表
  5. 恒生电子实施怎么样_蓝思科技今年来涨幅超166%,消费电子主题基金如何挑选?...
  6. 个人项目api接口_5个免费有趣的API,可用于学习个人项目等
  7. Java技术依然备受追捧,主要学习内容有哪些?
  8. c++模板类被继承时他的成员不能被子类看到
  9. Nginx https configuration backed Certbot
  10. idea svn回退版本_mac下使用svn通过终端回退版本到某个版本号 - 博客频道 - CSDN.NET...
  11. 运行Puttygen.exe生成密钥
  12. C++处理有道单词导出单词本
  13. 计算机平面设计培训学费,个旧计算机平面设计学校学费多少
  14. imwrite()和imshow()相关
  15. 用两种方法改错,体会封装和友员的关系!
  16. 玩转CSDN:你离写一篇高逼格文章就还差几个工具而已
  17. Linux xargs 命令
  18. 【gitHubDailyShare】通过真实录音,让动漫人物的嘴唇实现音画同步。开发者可将其应用于计算机游戏
  19. 【C#视频】——循环
  20. ARM Linux Data Abort 异常处理流程

热门文章

  1. textarea 只能上下拖动、左右拖动、不能拖动
  2. Camera Calibration
  3. 推荐自媒体和文案相关神器(短视频与公众号)
  4. 软件工程与计算II重点整理(第6-7章)
  5. HTML画正方形钟表,html画圆形时钟
  6. PowerBI开发 第十六篇:PowerBI Service基本概念
  7. 【原创】将数据生成json文件下载以及json中文乱码和优化json文件格式的方法
  8. mysql大数据的导入导出
  9. 小米5_2015201 2015618 2015628_官方线刷包_救砖包_解账户锁
  10. careueyes|careueyes pro中文版(电脑护眼) v2.0.0.6