이 글에서는 HTML5 터치 이벤트를 구현하여 모바일 단말에서 간단한 진행 표시줄을 구현하는 방법에 대한 관련 정보를 주로 소개합니다. 내용이 꽤 좋아서 지금 공유해 보겠습니다.
머리말
HTML에는 많은 새로운 이벤트가 추가되었지만 호환성 문제로 인해 널리 사용되지 않는 이벤트가 많습니다. 다음으로 유용한 모바일 터치 이벤트인 touchstart, touchmove, touchend를 소개하겠습니다.
Introduction
이러한 이벤트를 간략하게 소개하겠습니다.
touchstart: 이미 화면에 손가락이 있어도 손가락이 화면을 터치하면 트리거됩니다.
touchmove: 손가락이 화면을 미끄러질 때 지속적으로 트리거됩니다. 이 이벤트 중에 PreventDefault() 이벤트를 호출하면 스크롤을 방지할 수 있습니다.
touchend: 손가락이 화면에서 벗어날 때 트리거됩니다.
이러한 터치 이벤트에는 공통 DOM 속성이 있습니다. 또한 터치 추적을 위한 세 가지 속성도 포함되어 있습니다.
터치: 현재 추적되는 터치 작업을 나타내는 터치 개체 배열입니다.
targetTouches: 이벤트 대상과 관련된 터치 개체 배열입니다.
changeTouches: 마지막 터치 이후 변경된 사항을 나타내는 Touch 개체의 배열입니다.
각 터치 개체에는 다음 속성이 포함되어 있습니다.
clientX: 뷰포트에 있는 터치 대상의 X 좌표입니다.
clientY: 뷰포트에서 터치 대상의 y 좌표입니다.
pageX: 페이지에 있는 터치 대상의 x 좌표입니다.
pageY: 페이지에서 터치 대상의 y 좌표입니다.
screenX: screenX: 화면 내 터치 대상의 x 좌표입니다.
screenY: screenX: 화면 내 터치 대상의 x 좌표입니다.
식별자: 터치를 식별하는 고유 ID입니다.
target: screenX: 화면 내 터치 대상의 x 좌표입니다.
터치 이벤트의 특징을 이해한 후, 흥미진진한 실습을 시작하겠습니다
실전 전투
이제 터치 이벤트를 사용하여 모바일 측 슬라이딩 진행률 표시줄을 구현해 보겠습니다.
레이 아웃부터 시작하겠습니다. HTML
<p class="progress-wrapper"> <p class="progress"></p> <p class="progress-btn"></p> </p>
여기서 CSS 부분은 생략
dom 요소를 가져오고, 터치 시작점과 컨테이너의 가장 왼쪽 모서리에서 버튼까지의 거리를 초기화합니다.
const progressWrapper = document.querySelector('.progress-wrapper') const progress = document.querySelector('.progress') const progressBtn = document.querySelector('.progress-btn') const progressWrapperWidth = progressWrapper.offsetWidth let touchPoint = 0 let btnLeft = 0
듣기 touchstart event
progressBtn.addEventListener('touchstart', e => { let touch = e.touches[0] touchPoint = touch.clientX // 获取触摸的初始位置 btnLeft = parseInt(getComputedStyle(progressBtn, null)['left'], 10) // 此处忽略IE浏览器兼容性 })
touchmove 이벤트 듣기
progressBtn.addEventListener('touchmove', e => { e.preventDefault() let touch = e.touches[0] let diffX = touch.clientX - touchPoint // 通过当前位置与初始位置之差计算改变的距离 let btnLeftStyle = btnLeft + diffX // 为按钮定义新的left值 touch.target.style.left = btnLeftStyle + 'px' progress.style.width = (btnLeftStyle / progressWrapperWidth) * 100 + '%' // 通过按钮的left值与进度条容器长度的比值,计算进度条的长度百分比 })
일련의 논리적 연산을 통해 기본적으로 진행바를 구현했는데, 터치 위치가 진행률을 초과하는 경우 문제가 발견되었습니다. bar 컨테이너, 버그가 발생합니다. 몇 가지 제한사항
if (btnLeftStyle > progressWrapperWidth) { btnLeftStyle = progressWrapperWidth } else if (btnLeftStyle < 0) { btnLeftStyle = 0 }
이 시점에서는 간단한 모바일 스크롤바가 구현되었습니다.
위 내용이 이 글의 전체 내용이기를 바랍니다. 모두의 학습에 도움이 됩니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해주세요!
관련 추천:
html5 터치 스크린 페이지의 위아래 슬라이딩을 구현하는 터치 이벤트
Html5 모바일 단말기 수상 경력에 빛나는 원활한 스크롤 애니메이션
위 내용은 HTML5 터치 이벤트를 통해 모바일 측에 간단한 진행률 표시줄을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

HTML5에서 웹 사이트를 구축하는 방법에는 다음이 포함됩니다. 1. 의미 태그를 사용하여 웹 페이지 구조를 정의하는 등; 2. 멀티미디어 컨텐츠, 사용 및 태그를 포함; 3. 양식 검증 및 로컬 스토리지와 같은 고급 기능을 적용하십시오. 이 단계를 통해 명확한 구조와 풍부한 기능을 갖춘 최신 웹 페이지를 만들 수 있습니다.

합리적인 H5 코드 구조를 사용하면 페이지가 많은 컨텐츠 중에서 눈에 띄게 나타납니다. 1) 구조를 명확하게하기 위해 컨텐츠를 구성하려면 시맨틱 레이블 등을 사용하십시오. 2) Flexbox 또는 그리드와 같은 CSS 레이아웃을 통해 다른 장치에 대한 페이지의 렌더링 효과를 제어하십시오. 3) 반응 형 디자인을 구현하여 페이지가 다른 화면 크기에 맞게 조정되도록하십시오.

HTML5 (H5)와 이전 버전의 HTML의 주요 차이점은 다음과 같습니다. 1) H5는 시맨틱 태그를 소개하고, 2) 멀티미디어 컨텐츠를 지원하며 3) 오프라인 스토리지 기능을 제공합니다. H5는 새로운 태그 및 API (예 : 및 태그)를 통해 웹 페이지의 기능과 표현성을 향상시켜 사용자 경험 및 SEO 효과를 향상 시키지만 호환성 문제에주의를 기울여야합니다.

H5和HTML5的区别在于:1)HTML5是网页标准,定义结构和内容;2)H5是基于HTML5的移动网页应用,适用于快速开发和营销。

HTML5의 핵심 기능에는 시맨틱 태그, 멀티미디어 지원, 양식 향상, 오프라인 스토리지 및 로컬 스토리지가 포함됩니다. 1. 코드 가독성 및 SEO 효과 향상과 같은 시맨틱 태그. 2. 멀티미디어 지원은 미디어 컨텐츠 및 태그를 포함하는 프로세스를 단순화합니다. 3. 양식 향상은 새로운 입력 유형 및 검증 특성을 도입하여 양식 개발을 단순화합니다. 4. 오프라인 스토리지 및 로컬 스토리지는 ApplicationCache 및 LocalStorage를 통해 웹 페이지 성능 및 사용자 경험을 향상시킵니다.

html5isamajorrevisionof thehtml thatrevolutions webdevelopments and capabilitiess.1) itenhancescodereadabilitys 및 and .2) html5enablestriCher, Interactive Experiences, Withoutplugs를 허용합니다

H5에 대한 고급 팁에는 다음이 포함됩니다. 1. 복잡한 그래픽 사용, 2. 웹 워크를 사용하여 성능 향상, 3. WebStorage, 4. 응답 디자인 구현, 5. WebRTC를 사용하여 실시간 커뮤니케이션을 달성하기 위해, 6. 성능 최적화 및 모범 사례를 수행하십시오. 이 팁은 개발자가보다 역동적이고 대화식 및 효율적인 웹 응용 프로그램을 구축 할 수 있도록 도와줍니다.

H5 (HTML5)는 새로운 요소와 API를 통해 웹 컨텐츠와 디자인을 개선합니다. 1) H5는 시맨틱 태깅 및 멀티미디어 지원을 향상시킵니다. 2) 웹 디자인을 풍부하게하는 캔버스 및 SVG를 소개합니다. 3) H5는 새로운 태그와 API를 통해 HTML 기능을 확장하여 작동합니다. 4) 기본 사용에는이를 사용하여 그래픽 생성이 포함되며, 고급 사용량은 WebStorageapi와 관련이 있습니다. 5) 개발자는 브라우저 호환성 및 성능 최적화에주의를 기울여야합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

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