Heim Web-Frontend H5-Tutorial So implementieren Sie die Gesten-Schiebebildschirmumschaltung in einer HTML5-Einzelseite

So implementieren Sie die Gesten-Schiebebildschirmumschaltung in einer HTML5-Einzelseite

Jan 12, 2018 am 09:56 AM
h5 html5 如何

Dieses Mal zeige ich Ihnen, wie Sie die Bildschirmumschaltung mit Gesten in einer HTML5-Einzelseite implementieren. Was sind die Vorsichtsmaßnahmen für die Gesten-Schiebebildschirmumschaltung in HTML5-Einzelseiten? Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Die H5-Einzelseiten-Gesten-Schiebebildschirmumschaltung wird mithilfe von HTML5-Touch-Ereignis (Touch) und CSS3-Animation(Transformation, Übergang)

1 implementiert 🎜>Angenommen, es gibt 5 Seiten, jede Seite nimmt 100 % der Bildschirmbreite ein. Erstellen Sie ein DIV-Container-Ansichtsfenster, stellen Sie seine Breite (Breite) auf 500 % ein, laden Sie dann die 5 Seiten in den Container und lassen Sie dies den gesamten Container wird gleichmäßig auf 5 Seiten aufgeteilt. Schließlich wird die Standardposition des Containers auf 0 und der Überlauf auf ausgeblendet gesetzt, sodass auf dem Bildschirm standardmäßig die erste Seite angezeigt wird.

CSS-Stil:
<div id="viewport" class="viewport">
    <div class="pageview" style="background: #3b76c0" >
        <h3 >页面-1</h3>
    </div>
    <div class="pageview" style="background: #58c03b;">
        <h3>页面-2</h3>
    </div>
    <div class="pageview" style="background: #c03b25;">
        <h3>页面-3</h3>
    </div>
    <div class="pageview" style="background: #e0a718;">
        <h3>页面-4</h3>
    </div>
    <div class="pageview" style="background: #c03eac;">
        <h3>页面-5</h3>
    </div>
</div>
Nach dem Login kopieren

Registrieren Sie Touchstart-, Touchmove- und Touchend-Ereignisse. Wenn Ihr Finger über den Bildschirm gleitet, verwenden Sie die CSS3-Transformation, um die Position des Ansichtsfensters in Echtzeit festzulegen Um beispielsweise die zweite Seite anzuzeigen, legen Sie einfach die Transformation des Ansichtsfensters fest: Translate3d (100%, 0,0) Hier können wir Translate3d anstelle von TranslateX verwenden, um die GPU des Mobiltelefons aktiv zu aktivieren und die Seite zu verschieben reibungsloser.
.viewport{
   width: 500%;
   height: 100%;
   display: -webkit-box;
   overflow: hidden;
   //pointer-events: none; //这句话会导致整个页面上的点击事件失效,如需绑定点击事件,请注掉
   -webkit-transform: translate3d(0,0,0);
   backface-visibility: hidden;
   position: relative;
}
Nach dem Login kopieren

2. Hauptidee

Vom Auflegen des Fingers auf den Bildschirm über das Verlassen des Bildschirms bis hin zum Verlassen des Bildschirms handelt es sich um einen vollständigen Vorgang. Der entsprechende Vorgang löst die folgenden Ereignisse aus:

Finger auf dem Bildschirm: ontouchstart

Finger auf dem Bildschirm gleiten: ontouchmove

Finger weg vom Bildschirm: ontouchend

Wir müssen diese drei Phasen des Berührungsereignisses erfassen Zum Vervollständigen der Seitenverschiebung:

ontouchstart: Variablen initialisieren, Position des Fingers aufzeichnen, aktuelle Zeit aufzeichnen

ontouchmove: Aktuelle Position abrufen, Bewegungsdifferenz deltaX des Fingers berechnen Finger auf den Bildschirm und dann die Seite der Bewegung folgen lassen
/*手指放在屏幕上*/
document.addEventListener("touchstart",function(e){
   e.preventDefault();
   var touch = e.touches[0];
   startX = touch.pageX;
   startY = touch.pageY;
   initialPos = currentPosition;   //本次滑动前的初始位置
   viewport.style.webkitTransition = ""; //取消动画效果
   startT = new Date().getTime(); //记录手指按下的开始时间
   isMove = false; //是否产生滑动
}.bind(this),false);
Nach dem Login kopieren

/*手指在屏幕上滑动,页面跟随手指移动*/
document.addEventListener("touchmove",function(e){
   e.preventDefault();
   var touch = e.touches[0];
   var deltaX = touch.pageX - startX;
   var deltaY = touch.pageY - startY;
   //如果X方向上的位移大于Y方向,则认为是左右滑动
   if (Math.abs(deltaX) > Math.abs(deltaY)){
       moveLength = deltaX;
       var translate = initialPos + deltaX; //当前需要移动到的位置
       //如果translate>0 或 < maxWidth,则表示页面超出边界
       if (translate <=0 && translate >= maxWidth){
           //移动页面
           this.transform.call(viewport,translate);
           isMove = true;
       }
       direction = deltaX>0?"right":"left"; //判断手指滑动的方向
   }
}.bind(this),false);
Nach dem Login kopieren


Ich glaube, dass Sie die Methode beherrschen, nachdem Sie diese Fälle gelesen haben. Bitte zahlen Sie Beachten Sie auch andere verwandte Artikel auf der chinesischen PHP-Website!

Verwandte Lektüre:

So verwenden Sie Video- und Audio-Tags und Fortschrittsbalken in H5


Neue Interaktion zwischen H5 und C3 Was sind die Funktionen


H5-Tag-Zusammenfassung auf Blockebene

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Gesten-Schiebebildschirmumschaltung in einer HTML5-Einzelseite. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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.

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-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.

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.

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-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

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