폭포 흐름 레이아웃이라고도 알려진 폭포 흐름은 인기 있는 웹사이트 페이지 레이아웃입니다. 일부 학생들은 아직 폭포 흐름이 무엇인지 잘 이해하지 못하고 있다고 생각합니다. 따라서 오늘은 JavaScript에 대해 자세히 설명하겠습니다. 폭포 흐름.
지식:
1. 배열에서 최소값을 찾는 방법
첫 번째는 기본적으로 최소값이며 변수 a가 바인딩됩니다. for 루프를 통해 배열의 다른 값을 비교합니다. 전자가 더 작으면
var arr = [3,52,3,2,-2,-1,20]; var min = arr[0]; for (var i = 0; i < arr.length; i++) { if (arr[i] < arr[0]) { min = arr[i]; } } alert(min);
2. 문서 좌표를 얻는 방법
//获取父元素节点 var op = ele.parentNode; 则ele文档坐标:水平:op.offsetLeft + op.clientLeft + ele.offsetLeft; 垂直:op.offsetTop + op.clientTop + ele.offsetTop;
3. function
function rnd(min,max) { return parseInt(Math.random()*(max - min + 1)) + min; }
4 , Waterfall 흐름 코드
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>瀑布流</title> <style type="text/css"> * { padding: 0; margin: 0; } #wrap { overflow: hidden; margin-top: 100px; } #wrap li { float: left; width: 250px; font-size: 56px; margin: 0 20px; list-style-type: none; } #wrap li p { margin-bottom: 20px; border: 1px solid red; background-color: #ccc; } </style> </head> <body> <ul id="wrap"> <li> </li> <li> </li> <li> </li> </ul> <p style="height: 1000px;"> </p> <script type="text/javascript"> var wrap = document.getElementById("wrap"); var list = wrap.getElementsByTagName("li"); function rnd(min, max) { return parseInt(Math.random()*(max - min + 1)) + min; } //文档坐标获取 function getPosition(element) { var oP = element.offsetParent; var x = element.offsetLeft; var y = element.offsetTop; while(oP) { //水平 x = oP.clientLeft + x + oP.offsetLeft; //竖直 y = oP.clientTop + y + oP.offsetTop; oP = oP.offsetParent; } return {x:x,y:y} } function createDiv() { for(var j = 0; j < 10; j++) { //找最小高度的li那一列 var minList = list[0]; for(var i = 0; i < list.length; i++) { if(minList.offsetHeight > list[i].offsetHeight) { minList = list[i]; } } var newDiv = document.createElement("p"); newDiv.style.height = rnd(100,200) + "px"; newDiv.innerHTML = j; minList.appendChild(newDiv);//将创建p添加到最新的li那一列 } } createDiv(); //可视区的宽高document.documentElement.clientWidth //页面滚动条事件 window.onscroll = function() { var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; //wrap的文档坐标+wrap自身高度 跟滚动条scrollTop+可视区高度比较 if(getPosition(wrap).y + wrap.offsetHeight <= scrollTop + document.documentElement.clientHeight) { // alert("到底了"); createDiv(); } } </script> </body> </html>
Waterfall 흐름은 웹 사이트 페이지 레이아웃으로, 페이지 스크롤 막대가 아래로 스크롤되면 이 레이아웃이 계속해서 데이터를 로드합니다. 차단하고 현재 꼬리에 추가합니다. 이 레이아웃을 채택한 첫 번째 웹사이트는 Pinterest였으며 중국에서 점차 인기를 얻었습니다. 국내 신규 사이트는 대부분 이런 스타일을 기본으로 하고 있습니다.
위 내용은 JavaScript는 단순히 폭포수 흐름을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!