Heim Web-Frontend H5-Tutorial So implementieren Sie einen einfachen Fortschrittsbalken auf der mobilen Seite durch HTML5-Touch-Events

So implementieren Sie einen einfachen Fortschrittsbalken auf der mobilen Seite durch HTML5-Touch-Events

Jun 26, 2018 pm 02:00 PM
html5

In diesem Artikel werden hauptsächlich relevante Informationen zum Implementieren von HTML5-Touch-Ereignissen zur Implementierung eines einfachen Fortschrittsbalkens auf dem mobilen Endgerät vorgestellt. Der Inhalt ist jetzt recht gut und dient als Referenz.

Vorwort

Viele neue Ereignisse wurden zu HTML hinzugefügt, aber aufgrund von Kompatibilitätsproblemen werden viele Ereignisse nicht häufig verwendet stellt einige nützliche mobile Touch-Ereignisse vor: touchstart, touchmove, touchend.

Einführung

Lassen Sie uns diese Ereignisse kurz vorstellen:

  1. Touchstart: Wird ausgelöst, wenn ein Finger berührt auf dem Bildschirm, auch wenn sich bereits ein Finger auf dem Bildschirm befindet.

  2. touchmove: Wird kontinuierlich ausgelöst, wenn der Finger über den Bildschirm gleitet. Während dieses Ereignisses kann der Aufruf des Ereignisses „preventDefault()“ das Scrollen verhindern.

  3. Touchend: Wird ausgelöst, wenn der Finger den Bildschirm verlässt.

Diese Berührungsereignisse haben gemeinsame Dom-Attribute. Darüber hinaus enthalten sie auch drei Attribute zum Verfolgen von Berührungen:

  1. Berührungen: ein Array von Berührungsobjekten, die die aktuell verfolgten Berührungsvorgänge darstellen.

  2. targetTouches: Array von Touch-Objekten, die für das Ereignisziel spezifisch sind.

  3. changeTouches: Ein Array von Touch-Objekten, das angibt, was sich seit der letzten Berührung geändert hat.

Jedes Touch-Objekt enthält die folgenden Eigenschaften:

  1. clientX: Die x-Koordinate des Touch-Ziels im Ansichtsfenster.

  2. clientY: Die y-Koordinate des Berührungsziels im Ansichtsfenster.

  3. pageX: Die x-Koordinate des Berührungsziels auf der Seite.

  4. pageY: Die Y-Koordinate des Berührungsziels auf der Seite.

  5. screenX: screenX: Die x-Koordinate des Berührungsziels auf dem Bildschirm.

  6. screenY: screenX: Die x-Koordinate des Berührungsziels auf dem Bildschirm.

  7. Kennung: Eine eindeutige ID, die die Berührung identifiziert.

  8. target: screenX: Die x-Koordinate des Berührungsziels auf dem Bildschirm.

Da Sie nun die Eigenschaften von Berührungsereignissen verstanden haben, beginnen wir mit der spannenden praktischen Sitzung

Praktischer Kampf

Lassen Sie uns Touch-Ereignisse verwenden, um einen verschiebbaren Fortschrittsbalken auf der mobilen Seite zu implementieren

Lassen Sie uns zunächst den HTML-Code entwerfen

<p class="progress-wrapper">
    <p class="progress"></p>
    <p class="progress-btn"></p>
</p>
Nach dem Login kopieren

The Der CSS-Teil wird hier weggelassen

Holen Sie sich das Dom-Element und initialisieren Sie den Berührungsstartpunkt und den Abstand zwischen der Schaltfläche und dem ganz linken Teil des Containers

const progressWrapper = document.querySelector(&#39;.progress-wrapper&#39;)
const progress = document.querySelector(&#39;.progress&#39;)
const progressBtn = document.querySelector(&#39;.progress-btn&#39;)
const progressWrapperWidth = progressWrapper.offsetWidth

let touchPoint = 0
let btnLeft = 0
Nach dem Login kopieren

Auf Touchstart-Ereignis achten

progressBtn.addEventListener(&#39;touchstart&#39;, e => {
    let touch = e.touches[0]
    touchPoint = touch.clientX // 获取触摸的初始位置
 btnLeft = parseInt(getComputedStyle(progressBtn, null)[&#39;left&#39;], 10) // 此处忽略IE浏览器兼容性
})
Nach dem Login kopieren

Auf Touchmove-Ereignis achten

progressBtn.addEventListener(&#39;touchmove&#39;, e => {
e.preventDefault()
    let touch = e.touches[0]

    let diffX = touch.clientX - touchPoint // 通过当前位置与初始位置之差计算改变的距离
    let btnLeftStyle = btnLeft + diffX // 为按钮定义新的left值

    touch.target.style.left = btnLeftStyle + &#39;px&#39;

    progress.style.width = (btnLeftStyle / progressWrapperWidth) * 100 + &#39;%&#39; // 通过按钮的left值与进度条容器长度的比值,计算进度条的长度百分比
})
Nach dem Login kopieren

Durch Eine Reihe logischer Operationen haben wir grundsätzlich implementiert, es wurde jedoch ein Problem festgestellt. Wenn die Berührungsposition den Fortschrittsbalken-Container überschreitet, treten einige Einschränkungen auf.

if (btnLeftStyle > progressWrapperWidth) {
    btnLeftStyle = progressWrapperWidth
    } else if (btnLeftStyle < 0) {
    btnLeftStyle = 0
}
Nach dem Login kopieren

An dieser Stelle wurde eine einfache mobile Bildlaufleiste implementiert

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das weitere Lernen hilfreich ist Verwandte Inhalte, achten Sie bitte auf die chinesische PHP-Website!

Verwandte Empfehlungen:

HTML5-Touch-Event ermöglicht das Auf- und Abwärtsschieben der Touchscreen-Seite

Html5 Mobile Terminal Award- Gewinnende nahtlose Scroll-Animation Implementieren Sie

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen einfachen Fortschrittsbalken auf der mobilen Seite durch HTML5-Touch-Events. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles