웹 프론트엔드 JS 튜토리얼 JavaScript를 사용하여 탭 콘텐츠를 컨테이너로 제한하면서 손가락 슬라이딩 전환 효과를 얻는 방법은 무엇입니까?

JavaScript를 사용하여 탭 콘텐츠를 컨테이너로 제한하면서 손가락 슬라이딩 전환 효과를 얻는 방법은 무엇입니까?

Oct 20, 2023 am 11:31 AM
꼬리표 자바스크립트 구현 손가락 슬라이딩 전환 효과 컨테이너 내 제한사항

如何使用 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 来实现手指滑动切换效果以及限制在容器内。我们使用 touchstarttouchmovetouchend 事件来监听手指的滑动操作。

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 元素,然后使用变量 startXcurrentX 来记录手指滑动时的起始和当前横坐标。在 touchstart 事件中,我们通过 event.touches[0].clientX 获取手指开始滑动时的横坐标。在 touchmove 事件中,我们通过 event.touches[0].clientX 获取手指当前的横坐标,并使用 preventDefault() 方法取消默认滑动事件。在 touchend 事件中,我们计算了手指滑动的水平偏移量 deltaX,并根据 threshold 的阈值来判断是否需要切换选项卡。最后,我们通过操作选项卡样式和内容区域的 transform 属性来切换到正确的选项卡和内容。

完整的示例代码可以参考以下链接:
[https://codepen.io/](https://codepen.io/)

综上所述,我们可以使用 JavaScript 实现选项卡内容的手指滑动切换效果,并限制在容器内。通过监听 touchstarttouchmovetouchend

다음으로 CSS를 사용하여 컨테이너 크기, 탭 레이블 스타일, 콘텐츠 영역 스타일을 포함하여 탭 컨테이너의 스타일을 지정해야 합니다. 손가락으로 미끄러지는 효과를 얻으려면 overflow:hidden을 사용하여 컨테이너 범위를 벗어나는 콘텐츠를 숨겨야 합니다. CSS 스타일은 다음과 같습니다: 🎜rrreee🎜 다음으로 JavaScript를 사용하여 손가락 슬라이드 전환 효과를 구현하고 이를 컨테이너로 제한할 수 있습니다. touchstart, touchmovetouchend 이벤트를 사용하여 손가락 슬라이딩 작업을 수신합니다. 🎜rrreee🎜위 코드에서는 먼저 querySelector 메서드를 통해 DOM 요소를 선택한 다음 startXcurrentX 변수를 사용하여 기록합니다. 슬라이딩 시 손가락의 움직임 시작 및 현재 가로좌표. touchstart 이벤트에서는 손가락이 미끄러지기 시작할 때 가로 좌표를 얻기 위해 event.touches[0].clientX를 사용합니다. touchmove 이벤트에서는 event.touches[0].clientX를 통해 손가락의 현재 가로좌표를 얻고 preventDefault()를 사용하여 취소합니다. 메소드 기본 슬라이딩 이벤트. touchend 이벤트에서는 손가락 슬라이드 deltaX의 수평 오프셋을 계산하고 threshold의 임계값에 따라 탭 전환 여부를 결정합니다. 마지막으로 탭 스타일과 콘텐츠 영역의 transform 속성을 ​​조작하여 올바른 탭과 콘텐츠로 전환합니다. 🎜🎜전체 샘플 코드는 다음 링크를 참조하세요.
[https://codepen.io/](https://codepen.io/)🎜🎜요약하면 JavaScript를 사용하여 탭 콘텐츠를 구현할 수 있습니다. 손가락 스와이프는 효과를 전환하며 컨테이너로 제한됩니다. touchstart, touchmovetouchend 이벤트를 수신하여 손가락 슬라이딩으로 탭 전환 기능을 구현하고 컨테이너 내 슬라이딩을 제한할 수 있습니다. CSS 스타일을 통해 내부. 이러한 유형의 상호 작용은 모바일 장치에서 더욱 친숙하고 직관적이어서 사용자 경험을 향상시킵니다. 🎜

위 내용은 JavaScript를 사용하여 탭 콘텐츠를 컨테이너로 제한하면서 손가락 슬라이딩 전환 효과를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

수정: Google Chrome의 ERR_ADDRESS_UNREACHABLE 오류 수정: Google Chrome의 ERR_ADDRESS_UNREACHABLE 오류 May 15, 2023 pm 06:22 PM

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

Windows 11에서 미리보기 창이 작동하지 않는 문제를 해결하는 방법 Windows 11에서 미리보기 창이 작동하지 않는 문제를 해결하는 방법 Apr 24, 2023 pm 06:46 PM

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

Windows 11에서 MSI Afterburner를 사용할 수 없나요? 다음 수정 사항을 시도해 보세요. Windows 11에서 MSI Afterburner를 사용할 수 없나요? 다음 수정 사항을 시도해 보세요. May 09, 2023 am 09:16 AM

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

수정: Windows 11에서 Valorant를 실행할 때 VAN 1067 오류 수정: Windows 11에서 Valorant를 실행할 때 VAN 1067 오류 May 22, 2023 pm 02:41 PM

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

Opera 브라우저에서 비디오 자동 재생을 비활성화하는 방법은 무엇입니까? Opera 브라우저에서 비디오 자동 재생을 비활성화하는 방법은 무엇입니까? Apr 22, 2023 pm 10:43 PM

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

DirectX 함수 GetDeviceRemovedReason이 오류로 인해 실패함 DirectX 함수 GetDeviceRemovedReason이 오류로 인해 실패함 May 17, 2023 pm 03:38 PM

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

이 문제를 해결하려면 대화형 윈도우 스테이션을 사용해야 합니다. 이 문제를 해결하려면 대화형 윈도우 스테이션을 사용해야 합니다. Apr 24, 2023 pm 11:52 PM

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

Windows 11에서 인터넷 연결 속도를 최적화하는 방법 Windows 11에서 인터넷 연결 속도를 최적화하는 방법 Apr 23, 2023 pm 10:46 PM

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

See all articles