zoukankan      html  css  js  c++  java
  • 瀑布流的使用

      瀑布流在前端中是比较重要的一部分,瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。

    国内大多数清新站基本为这类风格。

      以下是瀑布流代码,提供给大家借鉴

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="UTF-8">

    <title></title>

    <style type="text/css">

    *{padding: 0;margin: 0;}

    #list{position: relative;list-style: none;}

    #list img{position: absolute;transition: all 0.5s linear;}

    </style>

    </head>

    <body>

    <ul id="list">

     

    </ul>

    </body>

    </html>

    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

    <script type="text/javascript">

    //先给图片做预加载

    var WIDTH = 300;

    var imgArray = [];//主要用来放置加载好的图片

    function preloadImg(){

    for (var i = 1; i< 40;i++) {

    var aImg = $("<img>").attr("src","img/"+i+".jpg")

    aImg.on("load",function(){

    imgArray.push(this);

    if (imgArray.length == 39) {

    //加载完毕

    createLi();

    resizeFun();

    }

    })

    }

    }

    preloadImg();

    function createLi(){

    for (var i = 0;i < 39;i++) {

    //计算可以放置多少列

    var numCol =parseInt(document.documentElement.clientWidth / (WIDTH + 10)) 

    var topArray = [];

    //初始化记录高度值的数组 topArray

    for (var i = 0;i < numCol;i++) {

    topArray[i] = 0;

    }

    for (var i = 0; i < 39;i++) {

    var aImg = imgArray[i];

    aImg.style.width = WIDTH +"px";

    //找到放到那一列,找高度最小的那一列

    var minIndex = 0;

    var min = topArray[0];

    for (var j = 0;j < topArray.length;j++) {

    if (min > topArray[j]) {

    min = topArray[j];

    minIndex = j;

    }

    }

    aImg.style.left = minIndex * (WIDTH + 10) + 10 + "px";

    aImg.style.top = min + 10 + "px";

    $("#list").append($(aImg));

     

    topArray[minIndex] += (aImg.offsetHeight + 10);

    } 

    }

    } 

    function resizeFun(){

    window.onresize = function(){

    createLi();

    }

    }

    resizeFun(); 

    </script>

     

      以上代码用到的img图片 均以  数字 + .jpg 格式命名 例如:1.jpg

      以上代码为个人所写,可以借鉴.欢迎大家提出建议.

  • 相关阅读:
    前后端分离项目采用Prerender的SEO优化流程
    spring多数据源分布式事务的分析与解决方案
    Windows上MyEclipse2017 CI7 安装、破解以及配置
    WINDOWS上JDK安装与环境变量设置
    Abp Vnext Vue3 的版本实现
    你好,年轻人
    数据结构·堆
    数据结构·优先队列
    算法笔记·并查集
    JAVA问题解决——Jar包中资源调用
  • 原文地址:https://www.cnblogs.com/sunweinan/p/6222918.html
Copyright © 2011-2022 走看看