Home Web Front-end H5 Tutorial HTML5 DeviceOrientation implements mobile website shake function code example_html5 tutorial skills

HTML5 DeviceOrientation implements mobile website shake function code example_html5 tutorial skills

May 16, 2016 pm 03:46 PM
html5 shake

Make two statements before the introduction:

The following code can be run directly. Of course, don’t forget to quote jQuery.

Copy code
The code is as follows:

<script><br>// DeviceOrientation provides high-level encapsulation of the underlying direction sensor and motion sensor, providing support for DOM events. <br>// This feature includes two events: <br>// 1. deviceOrientation: an event that encapsulates the orientation sensor data, which can obtain the orientation data of the mobile phone when it is stationary (the angle, orientation and orientation of the mobile phone, etc.) . <br>// 2. deviceMotion: Encapsulates the events of the motion sensor and can obtain data such as motion acceleration when the mobile phone is in motion. <br>// Using these two events, you can easily implement interesting functions such as gravity sensing and compass. </p> <p>// Now there is a very common and fashionable function in many Native applications - shake to find people, shake to read news, shake to find gold coins. . . <br>// Maybe you already know this function very well on the android or ios client, but now, I will tell you how to implement the shake function on the mobile web page. </p> <p>// OK, let’s start now, hehe~<br>// Let’s first understand the device motion events——DeviceMotionEvent: Returns the relevant information about acceleration and rotation of the device, where the acceleration data includes The following three directions: <br>// x: horizontally across the phone screen; <br>// y: vertically across the phone screen; <br>// z: vertically across the phone screen. <br>// In view of the fact that some devices do not exclude the influence of gravity, this event will return two attributes: <br>// 1. accelerationIncludingGravity (acceleration including gravity) <br>// 2. acceleration (excluding the influence of gravity) Acceleration)</p> <p>// As a coder, the most direct way is to code. Come on and start coding! </p> <p>//First, listen for motion sensing events on the page<br>function init(){<br> if (window.DeviceMotionEvent) {<br>  // Mobile browsers support motion sensing events<br> window.addEventListener('devicemotion', deviceMotionHandler, false);<br> $("#yaoyiyaoyes").show();<br> } else{<br>   // Mobile browsers do not support motion sensing events<br>  $("#yaoyiyaono").show();<br> } <br>}</p> <p>// So, how do we calculate whether the user is shaking the phone? You can consider the following points: <br>// 1. In fact, when users shake their phones, they always shake in one direction; <br>// 2. When users shake their phones, they move in x, There will be corresponding changes in the speed in the three directions of y and z; <br>// 3. The user’s normal mobile phone movement behavior cannot be regarded as shaking (the phone is placed in the pocket, and the acceleration will also change when walking) ). <br>// Considering the above three points, calculate the acceleration in the three directions, measure them at intervals, examine their rate of change in a fixed period of time, and determine a threshold to trigger the operation after shaking. . </p> <p>// First, define a shaking threshold <br>var SHAKE_THRESHOLD = 3000;<br>// Define a variable to save the time of the last update <br>var last_update = 0;<br>// Tight Then define x, y, z to record the data of the three axes and the time of the last departure <br>var x;<br>var y;<br>var z;<br>var last_x;<br>var last_y;<br>var last_z;</p> <p>//In order to make this example a little more boring and interesting, add a counter <br>var count = 0;</p> <p>function deviceMotionHandler(eventData) {<br>  // Get acceleration including gravity <br> var acceleration = eventData.accelerationIncludingGravity; </p> <p> // Get the current time <br> var curTime = new Date().getTime(); <br> var diffTime = curTime -last_update;<br> // Fixed time period <br> if (diffTime > 100) {<br> last_update = curTime; </p> <p> x = acceleration.x; <br> y = acceleration.y; <br> z = acceleration.z; </p> <p> var speed = Math.abs(x y z - last_x - last_y - last_z) / diffTime * 10000; </p> <p> if (speed > SHAKE_THRESHOLD) { <br>    // TODO: Here you can implement the data logic operations to be performed after shaking <br> Count ;<br>  $("#yaoyiyaoyes"). hide ();<br> }</p> <p> last_x = x; <br> last_y = y; <br> last_z = z; ="font-size:20px;margin:10px;line-height:35px;display:none;"><br>Brother, if you see me, it means you can't shake it yet, but it doesn't mean you are not qualified to use me. , instead: </br><br>1. If you are using a PC browser, that is wrong. I only like mobile browsers; </br><br> 2. If you are using an Android phone, I am sorry to tell you that Android comes with The browser abandoned me, you can use third-party browsers such as UCWeb and chrome; </br><br> 3. If you do not fall into the above two situations, then I can only tell you: you need to change your mobile phone! ! ! </br><br></div><br><div id="yaoyiyaoyes" style="font-size:20px;margin:10px;line-height:50px;display:none;"> <br>Brother, shake one, maybe there will be a pure girl waiting for you!<br></div><br><div id="yaoyiyaoresult" style="font-size:20px;margin :10px;line-height:50px;display:none;"></div><br><script><br>$(document).ready(function(){<br>init();<br>});<br></script>
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Table Border in HTML Table Border in HTML Sep 04, 2024 pm 04:49 PM

Guide to Table Border in HTML. Here we discuss multiple ways for defining table-border with examples of the Table Border in HTML.

HTML margin-left HTML margin-left Sep 04, 2024 pm 04:48 PM

Guide to HTML margin-left. Here we discuss a brief overview on HTML margin-left and its Examples along with its Code Implementation.

Nested Table in HTML Nested Table in HTML Sep 04, 2024 pm 04:49 PM

This is a guide to Nested Table in HTML. Here we discuss how to create a table within the table along with the respective examples.

HTML Table Layout HTML Table Layout Sep 04, 2024 pm 04:54 PM

Guide to HTML Table Layout. Here we discuss the Values of HTML Table Layout along with the examples and outputs n detail.

HTML Input Placeholder HTML Input Placeholder Sep 04, 2024 pm 04:54 PM

Guide to HTML Input Placeholder. Here we discuss the Examples of HTML Input Placeholder along with the codes and outputs.

HTML Ordered List HTML Ordered List Sep 04, 2024 pm 04:43 PM

Guide to the HTML Ordered List. Here we also discuss introduction of HTML Ordered list and types along with their example respectively

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

Guide to Moving Text in HTML. Here we discuss an introduction, how marquee tag work with syntax and examples to implement.

HTML onclick Button HTML onclick Button Sep 04, 2024 pm 04:49 PM

Guide to HTML onclick Button. Here we discuss their introduction, working, examples and onclick Event in various events respectively.

See all articles