瀑布流

<html>
<head>
    <meta charset="utf-8">
    <title>瀑布流</title>
    <style type="text/css">
        #main {
            positionrelative;
        }
        .box {
            padding5px;
            floatleft;
        }
        .pic {
            heightauto;
            padding5px;
            border1px solid gray;
            border-radius5px;
        }
            .pic img {
                width200px;
            }
    </style>
    <script type="text/javascript" src="jquery-1.9.1.js"></script>
    <script>
        window.onload = function () {
            waterfall();
        }
        window.onscroll = function () {
            var lastBox = $("#main>div").last();
            var lastH = lastBox.offset().top + Math.floor(lastBox.outerHeight());
            var soc = $(window).scrollTop();
            var docHeight = $(window).height();
            if (lastH - docHeight - soc < 50) {
                console.log("加载" + (lastH - docHeight - soc));
                var jsonData = {
                    "data": [
                        { "src""images/02.jpg" }, { "src""images/03.jpg" },
                        { "src""images/01.jpg" }, { "src""images/02.jpg" },
                        { "src""images/03.jpg" }, { "src""images/04.jpg" },
                        { "src""images/04.jpg" }, { "src""images/02.jpg" },
                        { "src""images/05.jpg" }, { "src""images/04.jpg" },
                    ]
                };
                $(jsonData.data).each(function (i, item) {
                    var oBox = $("<div>").addClass("box").appendTo($("#main"));
                    var pic = $("<div>").addClass("pic").appendTo(oBox);
                    $("<img>").attr("src", item.src).appendTo(pic);
                });
                waterfall();
            }
        }
        function waterfall() {
            var $box = $("#main>div");
            var w = $box.eq(0).outerWidth();
            var cols = Math.floor($(window).width() / w);
            $("#main").width(w * cols).css("margin""0 auto");
            var hArr = [];
            $box.each(function (i, item) {
                var h = $box.eq(i).outerHeight();
                if (i < cols) {
                    hArr[i] = h;
                } else {
                    var minH = Math.min.apply(null, hArr);
                    var minInx = $.inArray(minH, hArr);
                    // console.log(minH + '--' + minInx);
                    $(item).css({
                        "position""absolute",
                        "top": minH + "px",
                        "left": minInx * w + "px"
                    });
                    hArr[minInx] += $box.eq(i).outerHeight();
                }
            });
        }
    </script>
</head>
<body>
    <div id="main">
        <div class="box">
            <div class="pic">
                <img src="images/01.jpg" />
            </div>
        </div>
    </div>
</body>
</html>


来自为知笔记(Wiz)


转载于:https://www.cnblogs.com/jzb-dev/p/4971981.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java简易日历程序报告_简单的日历小程序(java编写)

import java.util.Scanner;public class CalendarDemo{public static void main(String[] args) {int sum 0;Scanner in new Scanner(System.in);System.out.print("请输入年份&#xff1a;");int year in.nextInt();Scanner sc new Scanner(System.in);System.o…

动态规划之石子合并

1、问题 ( 1 )路边玩法 有 n 堆石子堆放在路边,现要将石子有序地合并成一堆,规定每次只能移动相邻的两堆石子合并,合并花费为新合成的一堆石子的数量。求将这 N 堆石子合并成一堆的总花费(最小或最大)。 2、分析 ( 1 )建立最优值递归式 设 Min [i][j] 代表从第 i 堆石子到第 …

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.1.1 确定参数...

本节书摘来华章计算机《vSphere性能设计&#xff1a;性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 &#xff0c;第1.1节&#xff0c;[美] 克里斯托弗库塞克&#xff08;Christopher Kusek&#xff09; 著 吕南德特施皮斯&#xff08;Rynardt Spies&…

CityEngine快捷键一览表

Alt+鼠标左键:旋转 Alt+鼠标中键:平移 Alt+鼠标右键:缩放 鼠标左键:选择

WPF 使用DrawingVisual绘制高性能曲线图

一、前言项目中涉及到了心率监测&#xff0c;而且数据量达到了百万级别&#xff0c;通过WPF实现大数据曲线图时&#xff0c;尝试过最基础的Canvas来实现&#xff0c;但是性能堪忧&#xff0c;而且全部画出来也不实际。同时也尝试过找第三方的开源库&#xff0c;但是因为曲线图涉…

java 代码通用结构_java spring代码通用结构-java

src.main.java.com.company.projectname| - aop&#xff1a;类组。Spring AOP的Aspect仓库&#xff0c;是AOP的相关内容。定义了AOP切面类与织入方法。涉及Aspect&#xff0c;Around&#xff0c;PointCut&#xff0c;validator&#xff0c;SuppressWarnings&#xff0c;Logable…

数据结构(Java)——迭代器和列表的实例

感谢Java软件结构与数据结构 John Lewis Joseph chase 著 金名译 0. 迭代器关键概念&#xff08;补充理解&#xff09; 【1】迭代器是一个对象&#xff0c;它提供了一种依次访问集合中每个元素的方式。 【2】经常把集合定义为Iterable的&#xff0c;说明需要时可以提供一个迭代…

Android studio编译出现Failed to finalize session : INSTALL_FAILED_INVALID_APK

1、问题 我把项目里面的部分java文件导成jar文件&#xff0c;然后复制这个项目然后用Androi studio打开&#xff0c;导入jar编译出现这个错误 Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK: Split lib_slice_7_apk was define…

Linux的SWAP分区空间不够用的情况下,如何添加SWAP分区

通常情况下&#xff0c;SWAP空间应大于或等于物理内存的大小&#xff0c;最小不应小于64M&#xff0c;通常应是物理内存的2-2.5倍。但根据不同的应用&#xff0c;应有不同的配置。如果是小的桌面系统&#xff0c;则只需要较小的SWAP空间&#xff0c;而大的服务器系统则视情况不…

地理信息科学前沿-[热词]

1. LBS Location Based Service&#xff1a;基于位置的服务&#xff0c;它是通过电信移动运营商的无线电通讯网络&#xff08;如GSM网、CDMA网&#xff09;或外部定位方式(如GPS)获取移动终端用户的位置信息&#xff08;地理坐标&#xff0c;或大地坐标&#xff09;&#xff0c…

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存...

本节书摘来华章计算机《vSphere性能设计&#xff1a;性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 &#xff0c;第1.2.2节&#xff0c;[美] 克里斯托弗库塞克&#xff08;Christopher Kusek&#xff09; 著 吕南德特施皮斯&#xff08;Rynardt Spies&a…

如何检查服务已在依赖注入容器中注册

前言依赖关系注入(DI)&#xff0c;是一种在类及其依赖项之间实现控制反转(IoC)的技术。在ASP.NET Core中&#xff0c;依赖关系注入是“一等公民”&#xff0c;被大量使用。但是有时&#xff0c;我们仅仅只需要知道服务是否在依赖注入容器中已注册。比如&#xff0c;不注册使用分…

java多核的利用率_java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算

java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算FutureTask、ExecutorService 相关知识&#xff0c;请看java,API一个使用FutureTask简单的例子&#xff1a;package com.spell.threads;import java.util.concurrent.Callable;import java.util.concurrent.Exec…

iOS9 Storyboard unwind segue反回传递事件时机详细步骤

当返回上一个界面且需要上一个界面做某事时&#xff0c;用unwind segue实现起来比delegate简单许多&#xff0c;甚至有时不适合用delegate来实现&#xff0c;那么我们就用unwind segue吧&#xff0c;而且像1->2->3这样的跳转,3视图可以通过unwind segue方便的返回到1、2任…

Eclipse之如何导入arr文件

1、arr文件 aar是android module中所有resource文件和编译后的java文件的总压缩包 aar除了包含class文件&#xff0c;还包含resource文件 2、eclipse如何导入arr文件 1&#xff09;、解压arr文件&#xff0c;一般可以看到很多文件&#xff0c;比如aidl文件夹&#xff0c;jni…

ios俩个APP之间跳转、传值

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString [NSString stringWithFormat:"AppJumpSecond://%",textField.tex…

地理信息学专业软件大全

1. Envi 5.0 SP3 &#xff0c; Envi 5.0 SP3 License-32

java 只有日期的类_JAVA日期和时间类彻底解决(1)[转]

Whats your time zone?JAVA日期和时间类彻底解决(1)Page 1 of 3你是否在苦苦挣扎在JAVA语言中的日期和时间中&#xff1f;当你在计算机上显示日期和时间时&#xff0c;, 是否要快一个小时&#xff1f;或者可能要早一个小时&#xff1f;, 或者两个小时, 或者更严重&#xff1f;…

.Net Core手撸一个基于Token的权限认证

说明权限认证是确定用户身份的过程。可确定用户是否有访问资源的权力今天给大家分享一下类似JWT这种基于token的鉴权机制基于token的鉴权机制&#xff0c;它不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用,不需要去考虑用户在哪一台服务器…

Mybatis-Generator(MBG)教程与Idea的MBG插件

简介 Mybatis Generator(MBG)&#xff0c;下面我们统称为MBG&#xff0c;是一个Mybatis和iBatis的代码生成器。他可以内省数据库的表&#xff08;或多个表&#xff09;然后生成可以用来访问&#xff08;多个&#xff09;表的基础对象。这样减少了项目新建时各种配置对象&#x…