절대 위치 지정을 사용한 폭포 레이아웃:
1. 레이아웃
1. 블록박스를 둘러싼 컨테이너:
... ...
2. 블록 박스:
div>
3. 첫 번째 행/5개 블록 상자를 초기화합니다.
.box{
패딩: 10px ;
테두리: 1px solid #ccc;}
.box img{
너비:192px;
높이:auto;}
효과:

2. 아이디어:
1. 상위 메인의 스타일을 가로 가운데로 설정합니다. 2. 각 블록 상자 핀의 스타일을 설정합니다: 절대 위치 지정.
3. 창 스크롤 이벤트에 대한 청취 기능을 설정합니다. 데이터를 읽고 블록 상자를 추가합니다.
JS 구현:
1-①: 부모 oParent 가져오기: 1-②: getClassObj() 함수 만들기 - 부모 ID와 블록 상자 클래스 이름을 통해 블록 상자가 포함된 배열을 가져옵니다.
oParent.style.cssText='width:' iPinW*num 'px;margin:0 auto;';//cssText 속성을 사용하여 상위 메인에 가운데 맞춤 스타일 추가: 고정 너비 자동 가로 여백
핀 반환;}
2- ①: 각 열 높이를 저장하는 데 사용되는 Pinharr 배열을 생성하고 블록 상자 aPin[i]를 배열 pinHArr에 할당하고, 그 크기를 초과하는 블록 상자를 절대적으로 배치합니다. number 한 줄에 들어갈 수 있는 블록 상자의 수입니다.
2-3: 생성 함수 getminHIndex()를 사용하여 배열의 최소값을 반환합니다.
코드 복사
코드는 다음과 같습니다.
var pinHArr=[];//각 열에 모든 블록 상자의 높이를 합친 값을 저장하는 데 사용됩니다. [이 배열의 길이도 열 수에 따라 변경됩니다.]
for(var i=0 ;i
if(i
}else에 추가됩니다. > var minH=Math.min.apply(null,pinHArr);//pinHArr 배열의 최소값 minH
를 계산합니다. var minHIndex=getminHIndex(pinHArr,minH);//생성된 getminHIndex를 통해 최소값 minH를 가져옵니다. ()- pinHArr aPin[i].style.position='absolute';//절대 변위 설정
aPin[i].style.top=minH 'px'; 인덱스 > aPin[ i] .style.left = apin [minhindex] .ofSetLeft 'px'; // 배열의 최소 높은 요소의 Apin [i] 블록
Pinharr [minhindex] = apin [i ]. //블록 상자 추가 후 열 높이 업데이트 코드는 다음과 같습니다.
function getminHIndex(arr,minH){
for(var i in arr){
if(arr[i]==minH)return i;
}코드 복사
코드는 다음과 같습니다.
var dataInt={'data':[ {'src':'g (1).jpg'},{'src':'g (9).jpg'},{'src':'g (2).jpg'},{'src': 'g ( 4).jpg'}]};//임시 데이터 객체
//아래에 창 스크롤 이벤트 수신 함수 정의
if(checkscrollside() ){
var oParent=document.getElementById('main');// 상위 객체
};
함수 checkscrollside(){
var oParent=document.getElementById('main');
var aPin=getClassObj(oParent,'pin');
var lastPinH=aPin[aPin .length-1].offsetTop Math.floor(aPin[aPin.length-1].offsetHeight/2);//[추가된 블록 상자 함수 Waterfall() 트리거]의 높이 생성: 마지막 블록 상자의 거리 웹페이지 자체 상단에서 높이의 절반(하단으로 스크롤하기 전 로딩 가능)
var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;//호환성 해결에 주의
var documentH=document.documentElement.clientHeight;/ /창 높이
return (lastPinH
3. 최종 효과:

4. 요약: 생각을 정리하기 위한 표현입니다. 표현이 그다지 조심스럽고 일관되지는 않으니 참고용으로만 사용하세요.
5. 완성된 html 파일 및 js 파일:
html: index.html
< ;style type="text/css">
*{padding: 0;margin:0;}
#main{
위치: 상대;
}
.pin{
패딩: 15px 0 0 15px;
float:left;
}
.box{
패딩: 10px;
테두리: 1px solid
상자 그림자: 0 0 6px #ccc;
테두리 반경: 5px;
}
.box img{
너비:162px;
높이: 자동;
}
> ;
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
< ;/div>
js:waterfall.js 1 window.onload=function() {
waterfall('main','pin');
var dataInt={'data':[{'src':'g (1).jpg'},{'src':' g (9).jpg'},{'src':'g (2).jpg'},{'src':'g (4).jpg'}]};
window.onscroll = Function () {
if (CheckscrollSide ()) {
var oparent = document.GetelementByid ('Main'); // 부모 수준 객체
for (var I = 0; data; datait .data .length;i ){
var oPin=document.createElement('div'); //요소 노드 추가
.appendChild (oPin); 🎜> var oImg =document.createElement('img') ;
oImg.src='./images/' dataInt.data[i].src;
oBox.appendChild(oImg);
}
폭포('main','pin') ;
};
}
}
/*
부모 부모 ID
핀 요소 ID
*/
함수 Waterfall(부모,핀){
var oParent=document.getElementById(parent);// 상위 객체
var aPin=getClassObj(oParent,pin);// 블록박스 핀을 저장하는 배열 가져오기 aPin
var iPinW=aPin[ 0].offsetWidth;//블록 프레임 핀의 너비
var num=Math.floor(document.documentElement.clientWidth/iPinW);//각 행에 수용할 수 있는 핀 번호 [창 너비 나누기 블록 상자의 너비]
oParent.style.cssText='width:' iPinW*num 'px;ma rgin:0 auto;';//상위 중심 스타일 설정: 고정 너비 자동 가로 여백
var pinHArr=[];//각 열의 모든 블록 상자의 높이를 합친 값을 저장하는 데 사용됩니다.
for(var i=0;i
if(i num을 통해 사용 사용 사용 사용 사용 사용 사용 사용 사용 사용 사용 so so so so so so so so so so so so so so so so so so so so so so so so so so 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 너무 길수 그래서 너무 오래 너무 오래 너무 길어 so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so so pinHArr);//배열 pinHArr의 최소값 minH
var minHIndex=getminHIndex(pinHArr,minH);
aPin[i].style.position='absolute';//절대 변위 설정
[i].style.top=minH 'px';
aPin[i].style.left=aPin [minHIndex].offsetLeft 'px'; [i] 블록 상자 높이
pinHArr[minHIndex] = aPin[i].offsetHeight;//블록 상자 추가 후 열 높이 업데이트 **
*상위 요소와 하위 요소의 클래스를 통해 동일한 유형의 하위 요소 배열을 가져옵니다
*/
function getClassObj(parent,className){
var obj=parent.getElementsByTagName('*');//부모의 모든 하위 집합 가져오기
var pinS=[];/ /하위 요소를 수집하는 배열 만들기 classname == className) {/
함수 getMinHindex (ARR, MINH) { if (arr [i] == minH){
return i;
}
}
}
function checkscrollside(){
var oParent=document.getElementById('main');
var aPin=getClassObj(oParent,'pin');
var lastPinH=aPin[aPin.length-1].offsetTop Math.floor(aPin[aPin.length-1].offsetHeight/2);/ /[블록 상자 추가 기능 Waterfall()]의 높이 생성: 마지막 블록 상자와 웹 페이지 상단 사이의 거리는 해당 높이의 절반입니다(하단으로 스크롤하기 전에 로드를 시작하기 위해)
var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;//호환성 해결에 주의
var documentH=document .documentElement.clientHeight;//페이지 높이
return (lastPinH

如何使用JS和百度地图实现地图平移功能百度地图是一款广泛使用的地图服务平台,在Web开发中经常用于展示地理信息、定位等功能。本文将介绍如何使用JS和百度地图API实现地图平移功能,并提供具体的代码示例。一、准备工作使用百度地图API前,首先需要在百度地图开放平台(http://lbsyun.baidu.com/)上申请一个开发者账号,并创建一个应用。创建完成

如何使用JS和百度地图实现地图热力图功能简介:随着互联网和移动设备的迅速发展,地图成为了一种普遍的应用场景。而热力图作为一种可视化的展示方式,能够帮助我们更直观地了解数据的分布情况。本文将介绍如何使用JS和百度地图API来实现地图热力图的功能,并提供具体的代码示例。准备工作:在开始之前,你需要准备以下事项:一个百度开发者账号,并创建一个应用,获取到相应的AP

js字符串转数组的方法:1、使用“split()”方法,可以根据指定的分隔符将字符串分割成数组元素;2、使用“Array.from()”方法,可以将可迭代对象或类数组对象转换成真正的数组;3、使用for循环遍历,将每个字符依次添加到数组中;4、使用“Array.split()”方法,通过调用“Array.prototype.forEach()”将一个字符串拆分成数组的快捷方式。

如何使用JS和百度地图实现地图多边形绘制功能在现代网页开发中,地图应用已经成为常见的功能之一。而地图上绘制多边形,可以帮助我们将特定区域进行标记,方便用户进行查看和分析。本文将介绍如何使用JS和百度地图API实现地图多边形绘制功能,并提供具体的代码示例。首先,我们需要引入百度地图API。可以利用以下代码在HTML文件中导入百度地图API的JavaScript

js中new操作符做了:1、创建一个空对象,这个新对象将成为函数的实例;2、将新对象的原型链接到构造函数的原型对象,这样新对象就可以访问构造函数原型对象中定义的属性和方法;3、将构造函数的作用域赋给新对象,这样新对象就可以通过this关键字来引用构造函数中的属性和方法;4、执行构造函数中的代码,构造函数中的代码将用于初始化新对象的属性和方法;5、如果构造函数中没有返回等等。

这篇文章主要为大家详细介绍了js实现打字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

php在特定情况下可以读js内部的数组。其方法是:1、在JavaScript中,创建一个包含需要传递给PHP的数组的变量;2、使用Ajax技术将该数组发送给PHP脚本。可以使用原生的JavaScript代码或者使用基于Ajax的JavaScript库如jQuery等;3、在PHP脚本中,接收传递过来的数组数据,并进行相应的处理即可。

js全称JavaScript,是一种具有函数优先的轻量级,直译式、解释型或即时编译型的高级编程语言,是一种属于网络的高级脚本语言;JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式,如函数式编程。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
