1. var _px = document.getElementById("px");
  2. var con=document.getElementById("content");
  3. px.onclick=function(){
  4.  
  5. /*定义需要用到的变量*/
  6. var fli=document.getElementById("ful").getElementsByTagName("li");
  7. var fli_left=[],fli_top=[],fli_height=[],_index=4;
  8. var a=0,b=0;c=0;
  9.  
  10. /*排列第一排的位置*/
  11. for(i=0;i<_index;i++){
  12. fli[i].style.left=i*240+20+"px";
  13.  
  14. /*将相关参数写入数组*/
  15. fli_left.push(fli[i].offsetLeft);
  16. fli_top.push(fli[i].offsetTop)
  17. fli_height.push(fli[i].offsetHeight)
  18. }
  19.  
  20. var _size=fli.length-_index;/*算出剩余需要循环次数*/
  21.  
  22. for(r=0;r<_size;r++){
  23.  
  24. /*定初始判断参照值*/
  25. a=fli_left[0];
  26. b=fli_height[0]
  27. c=0;
  28.  
  29. /*循环判断出数组中最小的*/
  30. for(i=1;i<5;i++){
  31. if(b>fli_height[i]){
  32. b=fli_height[i];
  33. a=fli_left[i];
  34. c=i;
  35. }
  36. }
  37.  
  38. /*排列最新的位置*/
  39. fli[_index].style.left=a+"px";
  40. fli[_index].style.top=b+10+"px";
  41.  
  42. /*从数组中删除最小的值*/
  43. fli_height.splice(c,1);
  44. fli_left.splice(c,1);
  45.  
  46. /*把最新的位置参数写入数组*/
  47. var bb=fli[_index].offsetHeight+fli[_index].offsetTop;
  48. console.log(bb)
  49. fli_height.push(bb);
  50. fli_left.push(fli[_index].offsetLeft);
  51. console.log(fli[_index].offsetHeight)
  52. console.log(fli[_index].offsetTop)
  53.  
  54. _index++;
  55.  
  56. }
  57.  
  58. }

瀑布流js排列的更多相关文章

  1. 4.瀑布流js

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 分享:纯 css 瀑布流 和 js 瀑布流

    分享一次纯 css 瀑布流  和 js 瀑布流 纯 css 写瀑布流 1.multi-columns 方式: 通过 Multi-columns 相关的属性 column-count.column-ga ...

  3. [JS练习] 瀑布流照片墙

    记录JS实现瀑布流照片墙效果 首先是前端页面 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  4. 8款实用的Jquery瀑布流插件

    1.网友Null分享Jquery响应式瀑布流布局插件 首先非常感谢网友Null的无私分享,此作品是一款响应式瀑布流布局Jquery插件,网友Null增加了一个屏幕自适应和响应式,响应式就是支持智能手机 ...

  5. OC-UICollectionView实现瀑布流

    UICollectionView实现瀑布流 在iOS中可以实现瀑布流的目前已知的有2种方案: 使用UIScrollView自己封装一套,这种方案是应用于iOS6之前的,因为iOS6才出来UIColle ...

  6. 代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)

    代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到 ...

  7. js瀑布流 原理实现揭秘 javascript 原生实现

    web,js瀑布流揭秘 瀑布流再很久之前流行,可能如我一样入行晚的 ,可能就没有机会去使用.但是这个技术终究是个挺炫酷的东西,花了一个上午来研究,用原生js实现了一个,下面会附上源码,供大家解读. 说 ...

  8. 原生JS实现瀑布流

    浏览网页的时候经常会遇到瀑布流布局的网站.也许有些读者不了解瀑布流.瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数 ...

  9. 手把手教你js原生瀑布流效果实现

    手把手教你js原生瀑布流效果实现 什么是瀑布流效果 首先,让我们先看一段动画: 在动画中,我们不难发现,这个动画有以下特点: 1.所有的图片的宽度都是一样的 2.所有的图片的高度是不一样的 3.图片一 ...

随机推荐

  1. mysql 根据查询结果集更新

    声明:  MySQL4.0之后的版本可以支持下面sql语句进行更新操作 应用场景: 一个表中的字段需要根据查询结果集进行更新,或者从另一表查询获得  其本质还是更新的数据需要查询获得. 例如: use ...

  2. EasyUi 方法传递多个参数值得方法

    1.项目中需要传递多个参数值 function actionFtt(value, row, index) { //传递查询需要的参数 var customerId = row.customerId;/ ...

  3. datagrid---写后台数据交互

    1.action的写法: 开头写包,此外,我们还有一个和action并列的package-info.java的文件,该文件是包的信息,media为我的文件夹里面放三个文件夹(action,bpo,ma ...

  4. Java递归算法——阶乘

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  5. hdu 1318 Palindromes

    Palindromes Time Limit:3000MS     Memory Limit:0KB     64bit                                         ...

  6. clearInterval,setInterval,clearTimeout,setTimeout

    setInterval("f()",1000)  每隔1秒就执行一次f() clearInterval   关闭clearInterval setTimeout("f() ...

  7. Android studio 的初始设置

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. Memcached【Magent+Memcached】集群

    Memcached介绍  事件处理libevent是个程序库,它将Linux的epoll.BSD类操作系统的kqueue等事件处理功能封装成统一的接口.即使对服务器的连接数增加,也能发挥O(1)的性能 ...

  9. Orchard源码分析(4):Orchard.Environment.OrchardStarter类

    概述 OrchardStarter类是个静态类,主要作用是配置Autofac容器以及创建IOrchardHost(DefaultOrchardHost)对象,分别对应CreateHost和Create ...

  10. php中的正则函数主要有三个-正则匹配,正则替换

    php中变量的声明? 由于php声明变量的时候, 不支持使用 var关键字, 又不能直接写一个变量名字, 孤零零的放在那里, 所以, 在php中声明变量的方式, 同时也是给变量初始化的形式, 即: & ...