JavaScript를 사용하여 탭 콘텐츠를 컨테이너로 제한하면서 손가락 슬라이딩 전환 효과를 얻는 방법은 무엇입니까?
JavaScript를 사용하여 탭 콘텐츠를 컨테이너로 제한하면서 손가락 슬라이딩 전환 효과를 구현하는 방법은 무엇입니까?
탭은 동일한 영역에 다양한 콘텐츠를 표시하도록 전환할 수 있는 일반적인 웹 페이지 레이아웃입니다. 전통적인 클릭 전환 방식과 비교하여 손가락 슬라이딩 전환 효과는 모바일 장치에서 더 친숙하고 직관적입니다. 이 기사에서는 JavaScript를 사용하여 탭 콘텐츠의 손가락 슬라이딩 전환 효과를 구현하고 이를 컨테이너로 제한하는 방법을 소개합니다.
먼저 탭 콘텐츠를 호스팅하려면 HTML 구조가 필요합니다. 탭에 세 개의 레이블이 있고 각 레이블이 콘텐츠 영역에 해당하며 HTML 구조는 다음과 같습니다.
<div class="container"> <div class="tabs"> <div class="tab" id="tab1">标签1</div> <div class="tab" id="tab2">标签2</div> <div class="tab" id="tab3">标签3</div> </div> <div class="content"> <div class="panel" id="panel1">内容1</div> <div class="panel" id="panel2">内容2</div> <div class="panel" id="panel3">内容3</div> </div> </div>
위 코드에서 .tabs
는 탭 레이블 .content
는 탭 콘텐츠를 전달하는 데 사용되며 .tab
및 .panel
은 특정 탭 레이블 및 콘텐츠입니다. .tabs
是用来承载选项卡标签,.content
是用来承载选项卡内容,.tab
和 .panel
是具体的选项卡标签和内容。
接下来,我们需要使用 CSS 来设置选项卡容器的样式,包括容器大小、选项卡标签的样式和内容区域的样式。为了实现手指滑动效果,我们还需要使用 overflow: hidden
来隐藏超出容器范围的内容。CSS 样式可以如下所示:
.container { width: 300px; height: 200px; overflow: hidden; } .tabs { display: flex; } .tab { flex: 1; text-align: center; } .content { width: 300%; display: flex; } .panel { flex: 1; text-align: center; }
接下来,我们可以使用 JavaScript 来实现手指滑动切换效果以及限制在容器内。我们使用 touchstart
、touchmove
和 touchend
事件来监听手指的滑动操作。
const container = document.querySelector('.container'); const tabs = document.querySelectorAll('.tab'); const panels = document.querySelectorAll('.panel'); let startX = 0; let currentX = 0; container.addEventListener('touchstart', (event) => { startX = event.touches[0].clientX; }); container.addEventListener('touchmove', (event) => { event.preventDefault(); currentX = event.touches[0].clientX; }); container.addEventListener('touchend', () => { const deltaX = currentX - startX; const threshold = container.offsetWidth / 3; if (deltaX > threshold && currentIndex > 0) { currentIndex--; } else if (deltaX < -threshold && currentIndex < tabs.length - 1) { currentIndex++; } const translateX = -currentIndex * 100; tabs.forEach((tab) => tab.classList.remove('active')); panels.forEach((panel) => panel.classList.remove('active')); tabs[currentIndex].classList.add('active'); panels[currentIndex].classList.add('active'); container.querySelector('.content').style.transform = `translateX(${translateX}%)`; });
在上述代码中,我们首先通过 querySelector
方法选择 DOM 元素,然后使用变量 startX
和 currentX
来记录手指滑动时的起始和当前横坐标。在 touchstart
事件中,我们通过 event.touches[0].clientX
获取手指开始滑动时的横坐标。在 touchmove
事件中,我们通过 event.touches[0].clientX
获取手指当前的横坐标,并使用 preventDefault()
方法取消默认滑动事件。在 touchend
事件中,我们计算了手指滑动的水平偏移量 deltaX
,并根据 threshold
的阈值来判断是否需要切换选项卡。最后,我们通过操作选项卡样式和内容区域的 transform
属性来切换到正确的选项卡和内容。
完整的示例代码可以参考以下链接:
[https://codepen.io/](https://codepen.io/)
综上所述,我们可以使用 JavaScript 实现选项卡内容的手指滑动切换效果,并限制在容器内。通过监听 touchstart
、touchmove
和 touchend
overflow:hidden
을 사용하여 컨테이너 범위를 벗어나는 콘텐츠를 숨겨야 합니다. CSS 스타일은 다음과 같습니다: 🎜rrreee🎜 다음으로 JavaScript를 사용하여 손가락 슬라이드 전환 효과를 구현하고 이를 컨테이너로 제한할 수 있습니다. touchstart
, touchmove
및 touchend
이벤트를 사용하여 손가락 슬라이딩 작업을 수신합니다. 🎜rrreee🎜위 코드에서는 먼저 querySelector
메서드를 통해 DOM 요소를 선택한 다음 startX
및 currentX
변수를 사용하여 기록합니다. 슬라이딩 시 손가락의 움직임 시작 및 현재 가로좌표. touchstart
이벤트에서는 손가락이 미끄러지기 시작할 때 가로 좌표를 얻기 위해 event.touches[0].clientX
를 사용합니다. touchmove
이벤트에서는 event.touches[0].clientX
를 통해 손가락의 현재 가로좌표를 얻고 preventDefault()
를 사용하여 취소합니다. 메소드 기본 슬라이딩 이벤트. touchend
이벤트에서는 손가락 슬라이드 deltaX
의 수평 오프셋을 계산하고 threshold
의 임계값에 따라 탭 전환 여부를 결정합니다. 마지막으로 탭 스타일과 콘텐츠 영역의 transform
속성을 조작하여 올바른 탭과 콘텐츠로 전환합니다. 🎜🎜전체 샘플 코드는 다음 링크를 참조하세요.[https://codepen.io/](https://codepen.io/)🎜🎜요약하면 JavaScript를 사용하여 탭 콘텐츠를 구현할 수 있습니다. 손가락 스와이프는 효과를 전환하며 컨테이너로 제한됩니다.
touchstart
, touchmove
및 touchend
이벤트를 수신하여 손가락 슬라이딩으로 탭 전환 기능을 구현하고 컨테이너 내 슬라이딩을 제한할 수 있습니다. CSS 스타일을 통해 내부. 이러한 유형의 상호 작용은 모바일 장치에서 더욱 친숙하고 직관적이어서 사용자 경험을 향상시킵니다. 🎜위 내용은 JavaScript를 사용하여 탭 콘텐츠를 컨테이너로 제한하면서 손가락 슬라이딩 전환 효과를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











몇몇 Windows 사용자는 시스템의 Google Chrome 브라우저에서 일부 웹사이트에 액세스하려고 할 때 웹페이지에 액세스할 수 없다고 불평했습니다. 또한 오류 코드 ERR_ADDRESS_UNREACHABLE과 함께 "사이트에 연결할 수 없습니다"라는 메시지가 브라우저에 표시됩니다. 이 문제에는 여러 가지 잠재적인 이유가 있을 수 있습니다. 웹사이트 서버 문제, 프록시 서버 설정, 불안정한 인터넷 연결 등이 원인일 수 있습니다. 비슷한 문제가 발생하더라도 당황하지 마세요. 이 글의 문제를 깊이 분석한 후, 우리는 다양한 해결책을 얻었습니다. 계속하기 전에 다음 해결 방법을 시도해 보십시오. 사용자가 다른 장치에서 사이트에 액세스하려고 하는데 문제가 없는지 확인한 다음 이 방법을 사용하십시오.

Windows 파일 탐색기와 함께 제공되는 기능 중 하나는 선택한 파일의 미리 보기를 표시하는 미리 보기 창입니다. 즉, 파일을 열기 전에 파일 내용을 볼 수 있습니다. 파일 탐색기의 미리 보기 창에서는 Office 관련 문서, PDF, 텍스트 파일, 이미지, 비디오 등 다양한 유형의 파일에 대한 미리 보기를 제공합니다. 일반적으로 잘 작동하지만 때로는 파일 미리보기를 사용할 수 없는 경우가 있습니다. 최근 많은 Windows 11 사용자가 파일 탐색기의 미리 보기 창이 작동하지 않고 파일 미리 보기를 볼 수 없다는 문제를 제기했습니다. Windows 컴퓨터에서 미리보기 창이 작동하지 않는 문제에 직면하고 있습니까? 그렇다면 이 글을 계속 읽어보세요. 여기에는 PC 문제를 해결하는 데 도움이 되는 수정 사항 목록이 정리되어 있습니다.

MSIAfterburner는 대부분의 그래픽 카드에 적합한 오버클러킹 도구입니다. 그 외에도 이를 사용하여 시스템 성능을 모니터링할 수도 있습니다. 그러나 일부 사용자는 MSIAfterburner가 Windows 11에서 작동하지 않는다고 보고했습니다. 이는 다음 섹션에서 설명하는 여러 가지 이유 때문일 수 있습니다. 하지만 이런 일이 발생하면 게임을 플레이하는 동안 성능을 변경하거나 모니터링할 수 없습니다. 예상한 대로 이는 게이머에게 중요한 과제입니다. 이것이 바로 우리가 문제를 이해하는 데 도움이 되고 Windows 11 문제에서 작동하지 않는 MSIAfterburned에 대한 가장 효과적인 수정 방법을 안내하기 위해 이 튜토리얼을 제공한 이유입니다.

운영 체제는 이전 버전보다 훨씬 좋아 보이고 AutoHDR 및 DirectStorage와 같은 게이머 중심 기능을 갖추고 있지만 Valorant 플레이어는 게임을 시작하는 데 몇 가지 어려움을 겪었습니다. 이것은 이전에 게이머들이 직면한 첫 번째 문제가 아닙니다. Valorant가 Windows 11에서 열리지 않는 것은 그들을 괴롭히는 또 다른 문제이지만 우리는 이를 해결하는 방법을 다뤘습니다. 이제 Windows 11로 전환한 Valorant 플레이어는 Secure Boot 및 TPM2.0 서비스로 인해 문제에 직면한 것으로 보입니다. 이로 인해 게임 메뉴가 실행 중에만 종료 옵션만 표시됩니다. 많은 사용자가 VAN1067 오류를 겪고 있지만 이것이 경보의 원인이 되어서는 안 됩니다.

최신 버전의 Opera 브라우저에는 새로운 자동 비디오 팝업 기능이 포함되어 있습니다. 이 기능을 사용하면 브라우저의 다른 탭으로 이동할 때 비디오가 자동으로 팝업되는 것을 볼 수 있습니다. 이 팝업 비디오는 크기가 조정되고 화면 주위로 이동할 수 있는 것으로 나타났습니다. 동영상 탭으로 다시 이동하면 다시 시작되고 부동 창이 사라집니다. 비디오 팝업 기능은 작업 중에 비디오를 시청하려는 멀티태스킹 사용자에게 유용합니다. 그러나 모든 Opera 사용자가 이 자동 비디오 팝업 기능을 좋아하는 것은 아닙니다. 탭을 변경할 때마다 나타나는 동영상 때문에 짜증을 내는 Opera 브라우저 사용자 중 한 명이라면 올바른 게시물을 찾으신 것입니다. 여기에서는 Opera에서 이 팝업을 비활성화하는 방법을 자세히 설명합니다.

우리가 플레이하는 거의 모든 고급 게임은 DirectX를 사용하여 효율적으로 실행됩니다. 그러나 일부 사용자는 DirectX 함수 GetDeviceRemovedReasonfailedwith와 오류 이유가 발생했다고 보고했습니다. 위의 이유는 일반 사용자에게는 자명하지 않으며 근본 원인과 가장 효과적인 솔루션을 결정하려면 어느 정도의 연구가 필요합니다. 작업을 더 쉽게 하기 위해 이 튜토리얼을 이 문제에 전념했습니다. 다음 섹션에서는 잠재적인 원인을 식별하고 DirectX 기능 GetDeviceRemovedReasonfailedwitherror를 제거하기 위한 문제 해결 단계를 안내합니다. 무엇이 원인인가

이 작업에는 다소 이상한 버그인 대화형 윈도우 스테이션이 필요합니다. 사용자가 앱과 상호 작용할 수 있는 소프트웨어 창이 열려 있지 않으므로 활성화해야 합니다. 이 버그는 2021 Printing Nightmare 취약점과 연결되어 있습니다. 그러나 이는 오늘날까지도 계속되어 컴퓨터와 장치 드라이버에 영향을 미칩니다. 다행히도 쉽게 고칠 수 있습니다. 애초에 왜 이런 오류가 발생하는 걸까요? 이 오류를 해결하는 방법을 설명하기 전에 이 오류의 원인을 나열하십시오. 이렇게 하면 이러한 일이 다시 발생하지 않도록 필요한 조치를 취할 수 있습니다. 손상된 파일이 컴퓨터 파일을 엉망으로 만들고 있습니다. 손상은 맬웨어부터 정전까지 다양한 이유로 발생할 수 있습니다. SFC 스캔을 실행하는 것이 좋습니다. 지나치게 열성적인 바이러스 백신 앱을 사용하고 있습니다. 바이러스 백신 소프트웨어가 때때로 차단합니다.

Windows 11의 느린 네트워크 속도 문제를 해결하는 방법은 무엇입니까? 1. 컴퓨터를 다시 시작합니다. 바탕 화면으로 이동하여 Alt+F4를 눌러 "Windows 종료" 상자를 활성화합니다. 드롭다운 메뉴를 클릭하고 옵션 목록에서 다시 시작을 선택합니다. 다음으로 확인을 클릭하세요. Windows 11에서 발생하는 대부분의 문제에 대해 가장 효과적인 해결 방법 중 하나는 간단히 컴퓨터를 다시 시작하는 것입니다. 문제의 원인이 백그라운드 프로세스이거나 오류인 경우 운영 체제를 다시 시작하면 해당 문제가 제거되어 오류가 수정됩니다. 컴퓨터를 다시 시작한 후 Windows 11의 네트워크 속도 문제가 해결되었는지 확인하세요. 2. PC가 공유기(Wi-Fi 네트워크) 범위 내에 있는지 확인하세요. 무선 네트워크의 경우, 기기와 공유기의 거리가 멀수록 인터넷 속도는 느려집니다.
