婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5 DeviceOrientation實(shí)現(xiàn)手機(jī)網(wǎng)站搖一搖功能代碼實(shí)例

HTML5 DeviceOrientation實(shí)現(xiàn)手機(jī)網(wǎng)站搖一搖功能代碼實(shí)例

熱門標(biāo)簽:外呼系統(tǒng)電話怎么投訴 pageadm實(shí)現(xiàn)地圖標(biāo)注 外呼線穩(wěn)定線路 呼和浩特外呼電銷系統(tǒng)排名 申請400電話流程簡介 阜陽企業(yè)外呼系統(tǒng) 邢臺縣地圖標(biāo)注app 地圖標(biāo)注位置能賺錢嗎 南通數(shù)據(jù)外呼系統(tǒng)推廣

介紹之前做兩個聲明:

以下代碼可以直接運(yùn)行,當(dāng)然你別忘了引用jQuery才行。

復(fù)制代碼
代碼如下:

<script>
// DeviceOrientation將底層的方向傳感器和運(yùn)動傳感器進(jìn)行了高級封裝,提供了DOM事件的支持。
// 這個特性包括兩個事件:
// 1、deviceOrientation:封裝了方向傳感器數(shù)據(jù)的事件,可以獲取手機(jī)靜止?fàn)顟B(tài)下的方向數(shù)據(jù)(手機(jī)所處的角度、方位和朝向等)。
// 2、deviceMotion:封裝了運(yùn)動傳感器的事件,可以獲取手機(jī)運(yùn)動狀態(tài)下的運(yùn)動加速度等數(shù)據(jù)。
// 使用這兩個事件,可以很能夠?qū)崿F(xiàn)重力感應(yīng)、指南針等有趣的功能。</p> <p>// 現(xiàn)在在很多Native應(yīng)用中有一個非常常見而時尚的功能 —— 搖一搖,搖一搖找人、搖一搖看新聞、搖一搖找金幣。。。
// 也許在android或者ios的客戶端上對這個功能你已經(jīng)很了解了,但是現(xiàn)在,我將告訴你如何在手機(jī)網(wǎng)頁上實(shí)現(xiàn)搖一搖的功能。</p> <p>// OK,那我們現(xiàn)在就開始吧,嘿嘿~
// 先來讓我們了解一下設(shè)備運(yùn)動事件 —— DeviceMotionEvent:返回設(shè)備關(guān)于加速度和旋轉(zhuǎn)的相關(guān)信息,其中加速度的數(shù)據(jù)包含以下三個方向:
// x:橫向貫穿手機(jī)屏幕;
// y:縱向貫穿手機(jī)屏幕;
// z:垂直手機(jī)屏幕。
// 鑒于有些設(shè)備沒有排除重力的影響,所以該事件會返回兩個屬性:
// 1、accelerationIncludingGravity(含重力的加速度)
// 2、acceleration(排除重力影響的加速度)</p> <p>// 作為碼農(nóng),上代碼才是最直接的,come on,代碼走起!</p> <p>// 首先在頁面上要監(jiān)聽運(yùn)動傳感事件
function init(){
  if (window.DeviceMotionEvent) {
    // 移動瀏覽器支持運(yùn)動傳感事件
    window.addEventListener('devicemotion', deviceMotionHandler, false);
    $("#yaoyiyaoyes").show();
  } else{
    // 移動瀏覽器不支持運(yùn)動傳感事件
    $("#yaoyiyaono").show();
  }
}</p> <p>// 那么,我們?nèi)绾斡?jì)算用戶是否是在搖動手機(jī)呢?可以從以下幾點(diǎn)進(jìn)行考慮:
// 1、其實(shí)用戶在搖動手機(jī)的時候始終都是以一個方向?yàn)橹鬟M(jìn)行搖動的;
// 2、用戶在搖動手機(jī)的時候在x、y、z三個方向都會有相應(yīng)的想速度的變化;
// 3、不能把用戶正常的手機(jī)運(yùn)動行為當(dāng)做搖一搖(手機(jī)放在兜里,走路的時候也會有加速度的變化)。
// 從以上三點(diǎn)考慮,針對三個方向上的加速度進(jìn)行計(jì)算,間隔測量他們,考察他們在固定時間段里的變化率,而且需要確定一個閥值來觸發(fā)搖一搖之后的操作。</p> <p>// 首先,定義一個搖動的閥值
var SHAKE_THRESHOLD = 3000;
// 定義一個變量保存上次更新的時間
var last_update = 0;
// 緊接著定義x、y、z記錄三個軸的數(shù)據(jù)以及上一次出發(fā)的時間
var x;
var y;
var z;
var last_x;
var last_y;
var last_z;</p> <p>// 為了增加這個例子的一點(diǎn)無聊趣味性,增加一個計(jì)數(shù)器
var count = 0;</p> <p>function deviceMotionHandler(eventData) {
  // 獲取含重力的加速度
  var acceleration = eventData.accelerationIncludingGravity; </p> <p>  // 獲取當(dāng)前時間
  var curTime = new Date().getTime();
  var diffTime = curTime -last_update;
  // 固定時間段
  if (diffTime > 100) {
    last_update = curTime; </p> <p>    x = acceleration.x;
    y = acceleration.y;
    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) {
      // TODO:在此處可以實(shí)現(xiàn)搖一搖之后所要進(jìn)行的數(shù)據(jù)邏輯操作
      count++;
      $("#yaoyiyaoyes").hide();
      $("#yaoyiyaoresult").show();
      $("#yaoyiyaoresult").html("搖你妹!第" + count + "個了!");
    }</p> <p>    last_x = x;
    last_y = y;
    last_z = z;
  }
}
</script>
<div id="yaoyiyaono" style="font-size:20px;margin:10px;line-height:35px;display:none;">
  兄弟,如果您看到了我,說明您現(xiàn)在還不能搖,不是說您沒有資格用我,而是:</br>
  1、如果您使用PC機(jī)的瀏覽器,那可就不對了,我只愛手機(jī)瀏覽器;</br>
  2、如果您是Android手機(jī),那不好意思告訴你,android自帶的瀏覽器拋棄了我,您可以用UCWeb、chrome等第三方瀏覽器;</br>
  3、如果您都不屬于以上兩種情況,那我只有告訴您:您改換手機(jī)啦!!!</br>
</div>
<div id="yaoyiyaoyes" style="font-size:20px;margin:10px;line-height:50px;display:none;">
  兄弟,搖一個吧,說不定有一個清純的妹子等著你呢!
</div>
<div id="yaoyiyaoresult" style="font-size:20px;margin:10px;line-height:50px;display:none;"></div>
<script>
$(document).ready(function(){
init();
});
</script>

標(biāo)簽:撫順 德州 蚌埠 黃山 內(nèi)蒙古 辛集 鶴崗 楊凌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5 DeviceOrientation實(shí)現(xiàn)手機(jī)網(wǎng)站搖一搖功能代碼實(shí)例》,本文關(guān)鍵詞  HTML5,DeviceOrientation,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5 DeviceOrientation實(shí)現(xiàn)手機(jī)網(wǎng)站搖一搖功能代碼實(shí)例》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5 DeviceOrientation實(shí)現(xiàn)手機(jī)網(wǎng)站搖一搖功能代碼實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 渑池县| 讷河市| 华宁县| 黄山市| 松潘县| 重庆市| 郴州市| 彭泽县| 华亭县| 浦北县| 平潭县| 白沙| 德令哈市| 关岭| 廉江市| 抚远县| 三台县| 启东市| 长寿区| 绍兴县| 肇东市| 大连市| 安多县| 东源县| 化德县| 南川市| 大连市| 丹寨县| 湖州市| 剑河县| 卓尼县| 周宁县| 中阳县| 舟山市| 始兴县| 怀仁县| 保定市| 离岛区| 武穴市| 马关县| 仁化县|