国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 DeviceOrientation實現手機!網站搖一搖功能代碼

2020-03-24 15:45:26
字體:
來源:轉載
供稿:網友

HTML5 DeviceOrientation實現手機網站搖一搖功能代碼

介紹之前做兩個聲明:

以下代碼可以直接運行,當然你

面包網[www.aikan.tv/special/mianbaowang/]別忘了引用jQuery才行。



代碼如下:

<script>

// DeviceOrientation將底層的方向傳感器和運動傳感器進行了高級封裝,提供了DOM事件的支持。

// 這個特性包括兩個事件:

// 1、deviceOrientation:封裝了方向傳感器數據的事件,可以獲取手機靜止狀態下的方向數據(手機所處的角度、方位和朝向等)。

// 2、deviceMotion:封裝了運動傳感器的事件,可以獲取手機運動狀態下的運動加速度等數據。

// 使用這兩個事件,可以很能夠實現重力感應、指南針等有趣的功能。</p> <p>// 現在在很多Native應用中有一個非常常見而時尚的功能 —— 搖一搖,搖一搖找人、搖一搖看新聞、搖一搖找金幣。。。

// 也許在android或者ios的客戶端上對這個功能你已經很了解了,但是現在,我將告訴你如何在手機網頁上實現搖一搖的功能。</p> <p>// OK,那我們現在就開始吧,嘿嘿~

// 先來讓我們了解一下設備運動事件 —— DeviceMotionEvent:返回設備關于加速度和旋轉的相關信息,其中加速度的數據包含以下三個方向:

// x:橫向貫穿手機屏幕;

// y:縱向貫穿手機屏幕;

// z:垂直手機屏幕。

// 鑒于有些設備沒有排除重力的影響,所以該事件會返回兩個屬性:

// 1、accelerationIncludingGravity(含重力的加速度)

// 2、acceleration(排除重力影響的加速度)</p> <p>// 作為碼農,上代碼才是最直接的,come on,代碼走起!</p> <p>// 首先在頁面上要監聽運動傳感事件

function init(){

if (window.DeviceMotionEvent) {

// 移動瀏覽器支持運動傳感事件

window.addEventListener('devicemotion', deviceMotionHandler, false);

$("#yaoyiyaoyes").show();

} else{

// 移動瀏覽器不支持運動傳感事件

$("#yaoyiyaono").show();

}

}</p> <p>// 那么,我們如何計算用戶是否是在搖動手機呢?可以從以下幾點進行考慮:

// 1、其實用戶在搖動手機的時候始終都是以一個方向為主進行搖動的;

// 2、用戶在搖動手機的時候在x、y、z三個方向都會有相應的想速度的變化;

// 3、不能把用戶正常的手機運動行為當做搖一搖(手機放在兜里,走路的時候也會有加速度的變化)。

// 從以上三點考慮,針對三個方向上的加速度進行計算,間隔測量他們,考察他們在固定時間段里的變化率,而且需要確定一個閥值來觸發搖一搖之后的操作。</p> <p>// 首先,定義一個搖動的閥值

var SHAKE_THRESHOLD = 3000;

// 定義一個變量保存上次更新的時間

var last_update = 0;

// 緊接著定義x、y、z記錄三個軸的數據以及上一次出發的時間

var x;

var y;

var z;

var last_x;

var last_y;

var last_z;</p> <p>// 為了增加這個例子的一點無聊趣味性,增加一個計數器

var count = 0;</p> <p>function deviceMotionHandler(eventData) {

// 獲取含重力的加速度

var acceleration = eventData.accelerationIncludingGravity; </p> <p>  // 獲取當前時間

var curTime = new Date().getTime();

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双柏县| 绩溪县| 马尔康县| 云南省| 九龙坡区| 上思县| 黄骅市| 临澧县| 枣强县| 揭西县| 金秀| 九龙坡区| 南京市| 玉门市| 高密市| 广宗县| 江口县| 许昌县| 红河县| 娄烦县| 博湖县| 张北县| 沽源县| 电白县| 桓台县| 无极县| 呼图壁县| 昭觉县| 肥城市| 辉南县| 马边| 五峰| 东乡县| 德钦县| 安吉县| 老河口市| 南靖县| 太仆寺旗| 板桥市| 简阳市| 信丰县|