js 클릭 이벤트 캐러셀 차트의 간단한 구현
캐러셀 이미지는 향후 애플리케이션에서 여전히 비교적 일반적이며 구현하는 데 많은 코드 줄이 필요하지 않습니다. 하지만 js의 기본 지식만 마스터하면 이를 달성하기 위해 더 적고 논리적으로 간단한 방법을 어떻게 사용할 수 있습니까? 여러 가지 접근 방식을 분석해 보겠습니다.
1.
을 달성하기 위해 변위 방법을 사용합니다. 먼저, 본문에 div를 추가하고 너비를 백분율(적응형 페이지)로 설정할 수 있습니다. 비율은 누구의 비율에 따라 결정되며 필요에 따라 수행됩니다. 여기서는 자세히 설명하지 않겠습니다. 이미지를 div에 넣습니다.
두 번째로, 스타일 부분에서 위치 지정을 용이하게 하기 위해 모든 img 태그를 절대값으로 설정합니다.
마지막으로 js 부분은 논리에 대해 설명하고 첫 번째 배열을 사용합니다. 초기 페이지에 표시된 사진과 입력 대기 중인 사진을 저장합니다. 두 번째 배열은 이 두 배열이 다음과 같이 설정되어 있다고 가정하여 나머지 n개의 사진을 저장합니다. waitToShow=[] 및 goOut=[]; ; 첫 번째 팝업이 표시됩니다. showFirst 그림에 대해 변위 및 이동 시간이 설정되어 있으면 실행이 완료된 후 showFirst가 goOut의 끝에 배치됩니다. goOut.push(showFirst); , waitToShow 배열의 0번째 요소는 표시할 원래 두 번째 A 그림이 되며, 이 그림의 waitToShow[0]에 대한 변위 및 이동 시간을 설정하고 goOut 배열의 첫 번째 요소 그림을 팝업하여 waitToShow 배열이 항상 표시된 그림과 표시될 그림인지 확인하여 두 배열을 통해 루프를 형성하여 캐러셀 그림 구현을 완료합니다. 반대 논리도 마찬가지입니다(여기서는 논리가 너무 복잡해서 권장하지 않습니다)
2. 계층 구조의 레벨을 사용하여 상단 이미지를 변경합니다. (이 방법에는 변위 동작이 없지만 논리가 매우 간단합니다. , 매우 실용적)
더 직관적인 보기를 위해 코드로 직접 이동: 기본적으로 모든 줄에는 주석이 있습니다
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>轮播图 (闪现 自适应)</title> <style media="screen"> * { margin: 0; padding: 0; } .wrap { width: 60%; background: red; margin: auto; position: relative; } .wrap img { width: 100%; position: absolute; /*z-index: 10;*/ } input { border: 1px solid lightgray; width: 50px; height: 30px; background: red; border-radius: 5px; font-size: 20px; } </style> </head> <body> <div class="wrap"> <img src="img/01.jpg" alt="" /> <img src="img/02.jpg" alt="" /> <img src="img/03.jpg" alt="" /> <img src="img/04.jpg" alt="" /> </div> <input type="button" id="butLeft" name="name" value="◀︎"> <input type="button" id="butRight" name="name" value="▶︎"> </body> <script type="text/javascript"> // 获取images元素生成字符串数组,字符串数组不能进行push pop splice 等操作 // 所以要将它的值重新存放进一个数组中,后面有定义 var images = document.getElementsByTagName('img'); var butLeft = document.getElementById('butLeft'); var butRight = document.getElementById('butRight'); //获取变量index 用来为后面设置层级用 var index = 1000; // 获取一个空的数组,用来存放images里面的字符串元素 var imagess = []; // for循环用来给imagess数组赋值,并且改变数组中的元素的层级 for (var i = 0; i < images.length; i++) { imagess[i] = images[i]; var currentImage = imagess[i]; // 当前图片的层级的设置,一轮for循环都为他们设置了初始的zIndex,图片越靠前,层级设置 // 要求越高,所以用的是-i,这样图片会按顺序从第一张,第二张.....依次向下 currentImage.style.zIndex = -i; } // 设置计数器count,执行一次点击事件(向左或者向右)count加1 var count = 0; // 向左的点击事件 butLeft.onclick = function() { // 从数组头部弹出一个图片元素 var showFirst = imagess.shift(); // 给弹出的这个图片元素设置层级,即 -1000+count, // 让层级相较其他元素是最小的,数组头部弹出的图片会显示在最底层 showFirst.style.zIndex = - index + count; // 层级改变完成后再将他push进数组的尾部 imagess.push(showFirst); // 点击一次加1,不用考虑具体的值,只需要有点击事件加 1 count++; } // 向右点击事件 butRight.onclick = function() { // 从imagess的尾部弹出一个元素,并赋值给showFirst var showFirst = imagess.pop(); // 设置showFirst的层级为最大,1000+count ,这样他会显示在第一层 showFirst.style.zIndex = index + count; // 层级改变之后将他在插入数组imagess的头部 imagess.unshift(showFirst); // 点击一次加1 count++; } </script> </html>
위의 필수 읽기 js 기본 기사(클릭 이벤트 캐러셀 차트의 간단한 구현) )는 모든 콘텐츠를 귀하와 공유했습니다. 더 많은 JS 클릭 이벤트 회전식 다이어그램 간단한 구현 및 관련 기사를 보려면 PHP 중국 웹 사이트에주의를 기울이십시오!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.

Console.log 출력의 차이의 근본 원인에 대한 심층적 인 논의. 이 기사에서는 Console.log 함수의 출력 결과의 차이점을 코드에서 분석하고 그에 따른 이유를 설명합니다. � ...

엔트리 레벨 타입 스크립트 자습서를 마스터 한 후에는 TypeScript를 지원하고 JavaScript로 컴파일하는 IDE에서 자신의 코드를 작성할 수 있어야합니다. 이 튜토리얼은 TypeScript의 다양한 데이터 유형으로 뛰어납니다. JavaScript에는 NULL, UNDEFINED, BOOLEAN, 번호, 문자열, 기호 (ES6에 의해 소개 됨) 및 객체의 7 가지 데이터 유형이 있습니다. TypeScript는이 기반으로 더 많은 유형을 정의 하며이 튜토리얼은이 모든 튜토리얼을 자세히 다룹니다. 널 데이터 유형 JavaScript와 마찬가지로 Null in TypeScript
