JS原生方法实现瀑布流布局】的更多相关文章

html部分(图片都是本地,自己需要改动图片) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #d74200 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; col…
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible"…
在实际的项目中,偶尔会用到一种布局——瀑布流布局.瀑布流布局的特点是,在多列布局时,可以保证内容区块在水平方向上不产生大的空隙,类似瀑布的效果.简单的说,在垂直列表里,内容区块是一个挨着一个的.当内容较多且不固定时,就依赖于html结构的顺序,非常受限制.这里给了一个简单的例子,只要传入列表的数量和宽度,就可以动态的将数据放到对应的列里. 原理 1.定义两个容器,一个是存放内容,一个是要展示的列表. 2.将每列的offsetHeight存入一个数组里,比较得出最小的那一列,然后把数据放到最小的列…
这个例子与上一篇类似,唯一的区别是排序的方式有差别.上一篇是在高度最小的列里插入内容,这个案例是按顺序放置内容. 两种方法各有优缺点.第一种需要在图片内容加载完成的情况下有效.这个例子不需要在window.onload之后执行,直接计算每列的索引,按照顺序一列一列的放置.用下面的图做说明. 说明: 上一个案例如下图: 源代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo…
使用过jq的童鞋非常喜欢jq获取对象的方法,只要$()就可以获取,在此我封装一个js获取对象的方法 [注意]只对chrome,Firefox,opera,Safari,ie8及ie8以上版本有效 function getEle(ele,index){   var obj = document.querySelectorAll(ele);    if(index){     if(obj.length ==1){      return obj;     }     return obj[inde…
alert 被覆盖 今天装修博客园,调试了下JS代码发现 alert() 方法被官方覆盖了,查看源码得知 alert 的功能被替换成了 console.log. 恢复 var _frame = document.createElement('iframe'); document.body.appendChild(_frame); window.alert = _frame.contentWindow.alert 官方有一套脚本过滤机制,主要是为了安全和体验上的考虑,不建议去绕过这种机制.…
废话不说,直接上题. slice(),接收两个参数,第一个为开始index(从0开始),第二个为结束的index(也是从0开始,但是不包括index本身,只到index-1).返回值是截取的数组,原数组不变化.传第三个参数,没有作用. splice(),接收无数个参数,第一个为开始的index(从0开始),第二个为删除的元素的个数(0代表不删除,1代表删除一个...),第三个为添加的元素,第四个也为添加的元素.....,返回值是删除的元素组成的数组,如果删除了0个就返回空数组,原数组会被改变成被…
浏览器加载页面的顺序: 1. 解析HTML结构 2. 加载外部脚本和样式表文件 3. 解析并执行脚本代码 4. 构造HTML DOM模型==ready() 5. 加载图片等组件 6. 页面加载完毕==onload() ready事件是在DOM模型构造完毕时触发 load事件是在页面加载完毕后触发 function ready(fn){ if(document.addEventListener) { document.addEventListener('DOMContentLoaded', fun…
首先给出HTML代码,要注意轮播图片表(#list)末尾加上第一个图片1.jpg,在首部加上最后一个图片5.jpg. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首尾轮播</title> <link rel="stylesheet" href="首尾轮播.css&q…
介绍的这个方法是:insetAdjacentHTML() 方法 此方法接收两个参数: 第一个参数必为下列值: beforebegin:在调用的元素外部的前面添加一个目标元素 afterend:在调用元素外部的后面添加一个目标元素 afterbegin:在调用元素的内部第一个子元素前面添加一个目标元素 beforeend:在调用元素的内部最后一个子元素后面添加一个目标元素 代码如下 var div2 = document.querySelector("#div2"); div2.inse…