前端模拟5页瀑布流加载

html:

 1 <div id="masonry" class="container-fluid">
 2     <div class="box"><img src="../../img/test/wty1.png"></div>
 3     <div class="box"><img src="../../img/test/wty2.png"></div>
 4     <div class="box"><img src="../../img/test/wty3.png"></div>
 5     <div class="box"><img src="../../img/test/wty4.png"></div>
 6     <div class="box"><img src="../../img/test/wty5.png"></div>
 7     <div class="box"><img src="../../img/test/wty1.png"></div>
 8     <div class="box"><img src="../../img/test/wty2.png"></div>
 9     <div class="box"><img src="../../img/test/wty3.png"></div>
10     <div class="box"><img src="../../img/test/wty4.png"></div>
11     <div class="box"><img src="../../img/test/wty5.png"></div>
12     <div class="box"><img src="../../img/test/wty1.png"></div>
13     <div class="box"><img src="../../img/test/wty2.png"></div>
14     <div class="box"><img src="../../img/test/wty3.png"></div>
15     <div class="box"><img src="../../img/test/wty4.png"></div>
16     <div class="box"><img src="../../img/test/wty5.png"></div>
17 </div>

css:

.container-fluid {
            padding: 20px;
}
.box {
           margin-bottom: 20px;
           float: left;
           width: 220px;
}
.box img {
           max-width: 100%
}

js:

// 瀑布流布局
    /**
     * 原理
     * // 当滚动到最底部以上100像素时, 加载新内容
     * $(document).height() - $(this).scrollTop() - $(this).height()<100
     *
     */
    var $container = $(‘#masonry‘);
    $container.imagesLoaded(function() {
        $container.masonry({
            itemSelector: ‘.box‘,
            gutter: 20,
            isAnimated: true
        });

    });

    /*
     <div id="masonry" class="container-fluid">
         <div class="box"><img src="../../img/test/wty1.png"></div>
         <div class="box"><img src="../../img/test/wty2.png"></div>
         <div class="box"><img src="../../img/test/wty3.png"></div>
         <div class="box"><img src="../../img/test/wty4.png"></div>
         <div class="box"><img src="../../img/test/wty5.png"></div>
     </div>
     * */

    var content = ‘<div class="box"><img src="../../img/test/wty1.png"></div>‘ +
        ‘<div class="box"><img src="../../img/test/wty2.png"></div>‘ +
        ‘<div class="box"><img src="../../img/test/wty3.png"></div>‘ +
        ‘<div class="box"><img src="../../img/test/wty4.png"></div>‘ +
        ‘<div class="box"><img src="../../img/test/wty5.png"></div>‘;
    var $content = $(content);
    var $content2 = $(content);
    var $content3 = $(content);
    var $content4 = $(content);
    var $content5 = $(content);

    /*$(‘#add‘).on(‘click‘, function () {
        $container.append($content).masonry(‘appended‘, $content);
    });*/

    var count = 0;

    $(window).on(‘scroll‘, function () {
        var _winThis = $(this);
        var _winScrollTop = _winThis.scrollTop();
        var _docHeight = $(document).height();
        var _winHeight = _winThis.height();

        if(_winScrollTop + _winHeight == _docHeight){
            //拉到页面的最底部了
            if(count < 5) {
                //$container.append($content).masonry(‘appended‘, $content);
                count++;
                //console.log(count);

                switch (count) {
                    case 1:
                        $container.append($content).masonry(‘appended‘, $content);
                        break;
                    case 2:
                        $container.append($content2).masonry(‘appended‘, $content2);
                        break;
                    case 3:
                        $container.append($content3).masonry(‘appended‘, $content3);
                        break;
                    case 4:
                        $container.append($content4).masonry(‘appended‘, $content4);
                        break;
                    case 5:
                        $container.append($content5).masonry(‘appended‘, $content5);
                        break;
                }
            }else {
                count = 10;
            }
        }

    });
时间: 2024-12-29 07:31:13

前端模拟5页瀑布流加载的相关文章

关于产品的一些思考——瀑布流加载

对网站页面的瀑布流加载已经忍受了很长时间,今天就在这里记录一下,讨论下那些令我"厌恶"的瀑布流加载. 当初好像是因为Pinterest,各大网站开始纷纷引入瀑布流加载方式,引入瀑布流仁者见仁智者见智,个人觉得还是不是很友好的(瀑布流适合图片类网站,针对文章性网站,真的不是很合适),我是可以在同一个页面看完所有相关的内容,可是我要无限地滚动鼠标,无限地点按向下箭头或者无限地点按空格键,还是觉得没有点击下一页要好,尤其是当用户看了很多内容,想回头寻找自己感兴趣的内容的时候,当然可以使用Ct

js实现瀑布流加载图片效果

今天学习了一个瀑布流加载效果,很多网站都有瀑布流效果,瀑布流就是很多产品显示在网页上,宽相同,高度不同,表现为多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.原理是:1.设定一行中的列数:2.取第一行中每一个div的高度并把每一个高度放进一个数组中:3.算出数组中最小高度的index值:4.把第二行的第一个div放到最小高度的div的下方并把重新算出的高度值放进数组中,重新计算最小高度的index值:5.以此类推实现多栏布局的瀑布流效果:6.如果最后一张div的高度

css3多列布局瀑布流加载样式

看了一些网站的瀑布流加载,正好看到css3的多列属性,尝试着写了一个css做布局的瀑布流. 直接上代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>CSS3多列属性瀑布流</title> <style> /*大层*/ .container{width:80%;margin: 0 auto;}

rwcq 瀑布流加载

<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="keywords" content="" /><meta name="description" content="<参考消息>由新

[JS] 瀑布流加载

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="keywords" content=""> <meta name="description" content=""> <title></title> <script type=&

js自定义流加载

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String path = request.getContextPath(); String basePa

layui流加载及传参

<ul class="shop-list ml10 mr10 store_list" id='demo' style="margin-top:80px;"></ul> <script type="text/javascript"> layui.use('flow', function(){ var $ = layui.jquery; //不用额外加载jQuery,flow模块本身是有依赖jQuery的,直接用即

网页前端开发,对于图片慢加载简介

http://www.cnblogs.com/qingseyuandi/p/loadingLater.html 网页前端的图片慢加载给网页显示的成本降低了不少,因此我在这边简单的介绍一下慢加载的一个技术原理,希望能起到抛砖引玉的作用,写的不好的地方希望指正,谢谢~~   技术背景 现在的网页系统,对于一些对图片资源比较多,并且一次性无法浏览完整个网页的情况下,图片慢加载可以提高客户端的体验,如IT大头:淘宝,网易,新浪等等...  技术原理   技术说穿了其实也就那么回事,懂了就简单了,呵呵~

原声JS瀑布流加延迟加载

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>瀑布流</title> <style> *{ margin: 0px; padding:0px; } .box{ position: relative; top:0px; } ul li{ list-style-type: none; posit