完成一个动漫人物的瀑布流布局,分别经过原生JavaScript、Css3和Jquery方式实现。
首先是使用JavaScript,这是第2部分。app
function checkScrollSlide(){ var Boxs = document.getElementsByClassName('wrap'); var lastBox= Boxs[Boxs.length-1]; //获取最后一张图片的 div块 // console.log(lastBox); 调试 //最后一张图片 距页面顶部的高度+1/2图片高 var lastBoxHeight = lastBox.offsetTop + Math.floor(lastBox.offsetHeight/2) //页面已滚动高度+可视区 var scrolltop = document.documentElement.scrollTop || document.body.scrollTop; var cliHeight = document.documentElement.clientHeight || document.body.clientHeight; //判断大小,当小于时返回true加载数据块 return lastBoxHeight<(scrolltop + cliHeight); }
dataget = {"data":[{"src":'img/1.jpg'},{"src":'img/2.jpg'},{"src":'img/3.jpg'},{"src":'4.jpg'}]};
window.onscroll=function(){ if (checkScrollSlide()){ //S1 判断知足什么条件,才触发加载事件—见下 //S3 把数据块渲染到页面尾部 var oneparent = document.querySelector('main'); for (var i=0; i<dataIn.data.length; i++){ var crbox = document.createElement('div'); crbox.className = 'wrap'; //建立元素的类名; oneparent.appendChild(crbox); //把 wrap盒子 添加到 main下面 var crpic = document.createElement('div'); crpic.className = 'pic'; crbox.appendChild(crpic); //把 pic盒子 添加到 wrap下面 var crimg = document.createElement('img'); crimg.src = "img/" + dataIn.data[i].src; //建立图片src属性值 crpic.appendChild(crimg); } } }
waterfall("main",".wrap");