Heim Web-Frontend H5-Tutorial Implementieren Sie die WeChat-Shake-Funktion basierend auf den Tutorialfähigkeiten von html5 DeviceOrientation_html5

Implementieren Sie die WeChat-Shake-Funktion basierend auf den Tutorialfähigkeiten von html5 DeviceOrientation_html5

May 16, 2016 pm 03:46 PM
html5

In HTML5 kapselt das von der DeviceOrientation-Funktion bereitgestellte DeviceMotion-Ereignis die Zeit des Bewegungssensors des Geräts. Durch Ändern der Zeit können Sie den Bewegungsstatus, die Beschleunigung und andere Daten des Geräts abrufen (es gibt auch ein DeviceOrientation-Ereignis, das den Gerätewinkel bereitstellt). Orientierung und andere Informationen).

Die Bestimmung des Bewegungsstatus des Geräts über DeviceMotion kann uns dabei helfen, den interaktiven „Shake“-Effekt auf der Webseite zu erzielen.

Überwachung von Bewegungsereignissen


Code kopieren
Der Code lautet wie folgt:

if (window.DeviceMotionEvent) {
window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
warning('Ihr Telefon ist schrecklich, kaufen Sie ein neues.');
}

Beschleunigungsinformationen abrufen

Die Aktion „Schütteln“ bedeutet, dass sich das Gerät innerhalb eines bestimmten Zeitraums über eine bestimmte Distanz bewegt, indem die Änderungsrate der im vorherigen Schritt erhaltenen x-, y- und z-Werte innerhalb eines bestimmten Zeitbereichs überwacht wird , können Sie feststellen, ob das Gerät ein Schüttelurteil hat. Um eine Fehleinschätzung der normalen Bewegung zu verhindern, muss ein geeigneter kritischer Wert für die Änderungsrate festgelegt werden.


Code kopieren
Der Code lautet wie folgt:

function deviceMotionHandler(eventData) {
var Beschleunigung = eventData.accelerationIncreasingGravity;
var curTime = new Date().getTime();
if ((curTime - last_update) > 100) {
var diffTime = curTime - last_update;
last_update = curTime;
x = Beschleunigung.x;
y = Beschleunigung.y;
z = Beschleunigung.z;
var speed = Math.abs(x y z - last_x - last_y - last_z) / diffTime * 10000;
var status = document.getElementById("status");
if (speed > SHAKE_THRESHOLD) {
doResult();
}
last_x = x ;
last_y = y;
last_z = z;
}
}

Der Effekt ist wie im Bild dargestellt:


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

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)

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

Verschachtelte Tabelle in HTML

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

Tabellenrahmen in HTML

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

HTML-Rand links

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

HTML-Tabellenlayout

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

Text in HTML verschieben

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

HTML-geordnete Liste

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

HTML-Onclick-Button

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

HTML-Eingabeplatzhalter

See all articles