폭포 흐름에 대해 먼저 알아보겠습니다
폭포 흐름, 폭포 흐름 레이아웃이라고도 합니다. 비교적 인기 있는 웹 사이트 페이지 레이아웃입니다. 시각적 성능은 페이지 스크롤 막대가 아래로 스크롤됨에 따라 데이터 블록을 지속적으로 로드하고 현재 꼬리에 추가합니다. 이 레이아웃을 채택한 최초의 웹사이트는 Pinterest였으며, 이는 점차 국내에서 인기를 얻었습니다. Meilishuo 및 Taobao와 같은 중국의 최신 웹사이트 대부분은 기본적으로 이 스타일을 사용합니다.
이것은 제가 달성한 효과입니다. 즉, 아무리 스크롤해도 로드되지 않습니다. 그냥 폭포처럼 흐르고 흐르세요!
여기에서는 Js 구현 방법에 대해서만 이야기합니다
구현 원칙:
컨테이너에 있는 기존 데이터 블록 요소를 처음으로 계산합니다. 1. 컨테이너의 전체 너비 2. 열 너비 3. 열의 최소 수를 얻은 후 배열을 사용하여 모든 높이를 저장합니다. 상자의 최소 높이를 구합니다. 그런 다음 일련 번호를 기반으로 높이가 업데이트됩니다. 다소 어색해 보이지만 구현하기는 매우 간단합니다.
스크롤 로딩의 경우: 즉, 높이까지 스크롤한 후 데이터를 로드해야 합니다. 실제로 이는 열의 최소 높이 값입니다. 이런 식으로 현재 스크롤 값과 최소 높이 값을 비교할 수 있습니다. 데이터 로드를 트리거할지 여부를 결정합니다. 즉, 이미지 로드 조건이 충족되는지 확인하는 함수를 작성합니다. 예를 들어 마지막 그림의 offsetTop, 시각적 영역 높이, 스크롤 거리를 가져옵니다. 즉, 그림의 offsetTop이 시각적 영역 높이와 스크롤 거리의 합보다 작은 경우 이때 로드되어야 합니다. , 그러나 조건은 임의로 결정될 수 있습니다. 그림과 같이 로딩 조건을 트리거하기 전에 그림이 반쯤 스크롤될 때까지 기다릴 수도 있습니다.
HTML CSS 코드를 먼저 입력하세요
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
|
JS 코드, 각 줄에는 주석이 있습니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
|
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.