栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

基于JavaScript实现瀑布流布局

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于JavaScript实现瀑布流布局

本文实例为大家分享了js实现瀑布流布局的具体代码,供大家参考,具体内容如下

1、html+css+js代码:




  
  hhh


  
    *{
      padding: 0;
      margin: 0;
    }
    #main{
      position: relative;
    }
    .pin{
      float: left;
      padding: 15px 0 0 15px;
    }
    .box{
      border-radius: 5px;
      box-shadow: 0 0 6px #ccc;
      border:1px solid #ccc;
      padding: 10px;

    }
    .box img{
      width: 162px;
      height:auto;
    }
  



  
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    

    
      
 
      
    
    
      
 
      
    
    
      
 
      
    
    
      
 
      
    

    
      
 
      
    
    
      
 
      
    
  

2、思路分析

首先做出静态布局来。先计算出一行放多少个元素,然后再让下一个元素放入第二行中,然后我们要计算出,放入第二行的第一个元素要放在哪个位置,故我们应该有一个数组用来存放每列的高度,当静态的这些元素都放进去之后,可以更加完善,比如当拖动滚动条的时候,页面刷新,更多元素填充,这里要用到json。

3、实现过程

1.初始的静态页面通过css来实现

2.静态的瀑布流布局,先要获取到父级对象main下面的所有类为pin的元素,然后计算一行中有几个块,此时用当前屏幕的宽度去除一个块的宽度,得到num。然后用一个数组,用来存储一行中每列的高度,通过循环,找出最小的高度,以及最小高度的下标值,然后用绝对定位设置高度。

3.当鼠标滚动的时候,通过一个函数来检查是否需要加载新的图片元素,这里用一个变量lastpinh计算出最后一个元素距离顶部的高度和自身高度的一半之和,当页面的高度与滚动出去的高度之和大于最后一个的高度时,触发事件,添加新的元素,以及调整布局。

4、需要掌握知识点:

json的数据存储

window.onscroll();
document.createElement();
obj.className;
obj.appendChild(obj1);
obj.offsetWidth/offsetHeight/offsetLeft/offsetTop;
document.documentElement.clientWidth/clientHeight;
obj.style.cssText
Math.min.apply();
Math.floor();
obj.push();
document.documentElement.scrollTop
document.body.scrollTop;

注:这些都是我所不熟练的知识点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/79894.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号