美文网首页
移动版瀑布流js

移动版瀑布流js

作者: WENPP | 来源:发表于2016-07-05 20:59 被阅读0次

functionrandH(min,max) {

returnMath.floor(Math.random()*(max-min+1)+min);

}

varflow=document.getElementById("flow");

//左边距

varleftSpace=10;

//间距

varpaddingSpace=10;

//高度数组,保存每个li的高度

varhs=[];

//布局函数

//当我bol为假时,更新的数组

functionbuju(bol) {

//获取所有的li用于大小改变时,更新布局

varlis=document.getElementsByTagName("li");

//根据自己的documentElement.clientWidth计算出来你有多少列

varcols=parseInt(document.documentElement.clientWidth/200);

flow.style.width=cols*200;

//初始化列高数组

vararrH=[];

for(vari=0; i

arrH[i]=0;

}

//创建或者更新li

for(varj=0; j<20; j++) {

varli=lis[j]||document.createElement("li");

li.innerHTML=j;

varh=hs[j]||randH(100,300);

li.style.height=h+"px";

if(bol) {

hs.push(h);

}

//求最短列

varminH=arrH[0];

varminI=0;

for(vark=0; k

if(minH>arrH[k]) {

minH=arrH[k];

minI=k;

}

}

//设置left

li.style.left=leftSpace+minI*(200+paddingSpace)+"px";

//设置top

li.style.top=arrH[minI]+"px";

//第一次页面加载执行的时候,才执行appendChild添加

if(bol) {

flow.appendChild(li);

}

//更新高度

arrH[minI]=arrH[minI]+li.offsetHeight+paddingSpace;

}

}

//第一次创建这些li

buju(true);

window.onresize=function() {

//更新

buju(false);

}

相关文章

  • 移动版瀑布流js

    functionrandH(min,max) { returnMath.floor(Math.random()*(...

  • 瀑布流布局

    瀑布流布局http://js.jirengu.com/dunawupili/1/ 2.新闻瀑布流http://js...

  • js/jQuery实现瀑布流

    html中主要代码: 实现瀑布流的js代码: css实现瀑布流只需要三行代码: 实现下拉刷新的js代码: js/c...

  • 瀑布流组件初探-Vue.js

    waterfall-瀑布流组件 基于Vue.js的瀑布流组件 GitHub地址: https://github.c...

  • js瀑布流

    瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种...

  • js瀑布流

    兼容性1 点击300ms 使用fastclick2 移动端1px 在ios中使用0.5px3 js中获取浏览...

  • js瀑布流

    瀑布流布局思路: 1、css样式,图片的父级div样式设置为定位或者浮动。 2、找出图片父级元素(box)和最外元...

  • js瀑布流

  • js瀑布流

    首先先要理清思路, 每张图片固定宽度,高度大小不一,第一排图片排完后记录每张图片的高度存到一个数组里面;第二排第一...

  • 瀑布流

    1、瀑布流http://js.jirengu.com/nokiqovire/1/edit2、瀑布流新闻网站http...

网友评论

      本文标题:移动版瀑布流js

      本文链接:https://www.haomeiwen.com/subject/hjmfjttx.html