最近一直在恶补基础JS H5 CSS3的基础知识

关于这个瀑布流:

本来打算看着教程来做的。 不过 感觉理解起来有点复杂。

SO, 自己参考教程默写了一个。。

目前我所接触过的瀑布流布局分为2大类

主要区分在于 float布局 或者position布局

点击这里下载Demo

贴下源码:(可能有些BUG,没有具体测试)

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{ margin:0; padding:0;}
body{ background:#ddd; }
ul{ width:1000px; margin:0 auto; position:relative;}
ul li{ width:300px; padding:5px;text-align:center; background:#FFF; border:1px solid #CCC; position:absolute; list-style-type:none; top:0;}
ul li img{ width:300px; height:auto;} </style> <script>
//@powerd by websir
window.onload = function(){
var oAdd = document.getElementById("add");
var oUl = document.getElementById("ul");
var aLi = oUl.getElementsByTagName("li")
var aPos = [{top:0,left:"0px"},{top:0,left:"315px"},{top:0,left:"630px"}]
var s = 0;
for(var i =0;i<aLi.length;i++)
{
sortLi(aLi[i]) } add.onclick = function(){
var newLi = document.createElement("li");
var img = new Image();
var span = document.createElement("span");
span.innerHTML = Math.ceil(Math.random()*8)*11111;
img.src = Math.ceil(Math.random()*8)+".jpg";
newLi.appendChild(img);
newLi.appendChild(span)
img.onload = function(){
oUl.appendChild(newLi);
sortLi(newLi)
} } function sortLi(obj){
aPos.sort(function(a,b){return a.top-b.top});
obj.style.left = aPos[0].left;
obj.style.top = aPos[0].top+"px";
aPos[0].top += obj.offsetHeight+5; } } </script> </head> <body> <input id="add" value="添加" type="button" style="position:fixed; height:30px; width:100%; top:0; z-index:9;" /> <ul id="ul">
<li><img src="1.jpg" />22222</li>
<li><img src="2.jpg" />22222</li>
<li><img src="3.jpg" />22222</li>
<li><img src="4.jpg" />22222</li>
<li><img src="5.jpg" />22222</li>
<li><img src="6.jpg" />22222</li>
<li><img src="7.jpg" />22222</li>
<li><img src="8.jpg" />22222</li> </ul>
</body>
</html>

比较容易理解的---原生js瀑布流的更多相关文章

  1. 原生js瀑布流

    HTML部分代码............................... CSS部分代码........................... 原生js部分代码................. ...

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

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

  3. 面向对象js瀑布流效果

    index.html <!doctype html><html lang="en"> <head>  <!--网站编码格式,UTF-8 国 ...

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

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

  5. 【js】【图片瀑布流】js瀑布流显示图片20180315

    js实现把图片用瀑布流显示,只需要“jquery-1.11.2.min.js”. js: //瀑布流显示图片 var WaterfallImg = { option: { maxWidth: 850, ...

  6. JS 瀑布流效果

    JS瀑布流效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  7. 前端对base64编码的理解,原生js实现字符base64编码

    目录 常见对base64的认知(不完全正确) 多问一个为什么,base64到底是个啥? 按照我们的思路实现一下 到这里基本就实现了,结果跟原生的方法打印的是一样的 下一次 @( 对于前端工程师来说ba ...

  8. js瀑布流(定位法)

    1.首先,自己写好图片路径,引入jquery <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  9. JS瀑布流效果

    本篇内容实现类似百度图片的呈现功能,瀑布流+自动加载 index13.html <!DOCTYPE html> <html> <head> <meta cha ...

随机推荐

  1. 云计算+SaaS+业务开发平台=JSAAS云平台

    我关注Google的代码托管.Open API,我也关注Oracle会把MYSQL怎么样云数据库化,我也虚拟化技术多实例化独立的数据库,我也关注facebook的平台插件应用架构,我也关注salesf ...

  2. 神奇的marquee--滚动的文字

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Python第一天接触心得

    最近想学Python,就开始看教程下载,官网是https://www.python.org/downloads/,最新版本是3.6.1, 注意:x86-64表示适用于windows 64位系统:x86 ...

  4. C#中string和byte[]相互转换问题解决

    本来想讲string转换为byte数组,通过在VS上打 ‘str. “来找,结果半天没发现跳出来的函数中有想要的,哭瞎 /(ㄒoㄒ)/~~ 这回将两种情况都记下来了.... string ---> ...

  5. js日期转化(计算一周的日期)

    之前做项目的时候遇到过一个日期转化的问题,一个日期控件和近一天,近七天和近一月的的联动效果.发现自己不会,后来就百度了一下解决了这个问题. 现在抽空又写了一个时间转化的案例(计算一周的日期),因为之前 ...

  6. [效率]Source insight标题栏中路径显示完整路径的方法

    使用Source insight的时候,默认是不显示文件的全路径的,这一点有那么一段时间让我很纠结,因为很多函数都是基于硬件架构的,一个函数有很多时间.查看文件的全路径是非常有必要,可以通过以下实现: ...

  7. Laravel 5.2 教程 - 文件上传

    一.简介 Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包. Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空 ...

  8. 走进javascript——类型

    ECMAScript语言类型对应于使用ECMAScript语言的ECMAScript程序员直接操作的值.ECMAScript语言类型有以下几种Undefined,Null,Boolean,String ...

  9. 浅谈Web的流量控制

    想聊一聊流量控制,谈谈的重要性,解决了哪些业务问题,那我们问题来进入正题.   1.WEB容器如何流量控制?   一个Tomcat的容器,这个容器呢,部署在一台服务器上面,同时这台服务器的资源非常非常 ...

  10. ASP.NET Core:部署项目到Ubuntu Server

    概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整天和Windows打交道的我,初次使用Linux确实有点 ...