實現微信搖一搖功能簡單介紹
關於微信搖一搖功能可能對於程式設計師這種更為宅的同胞們來說一定不陌生。下面就介紹一下如何利用javascript實現此功能,需要的朋友可以做一下參考。
在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封裝了裝置的運動感測器時間,通過改時間可以獲取裝置的運動狀態、加速度等資料(另還有deviceOrientation事件提供了裝置角度、朝向等資訊)。
而通過DeviceMotion對裝置運動狀態的判斷,則可以幫助我們在網頁上就實現“搖一搖”的互動效果。
運動事件監聽:
[JavaScript] 純文字檢視 複製程式碼if (window.DeviceMotionEvent) { window.addEventListener('devicemotion', deviceMotionHandler, false); } else { alert('當前手機不支援'); }
獲取加速度資訊:
“搖一搖”的動作既“一定時間內裝置了一定距離”,因此通過監聽上一步獲取到的x, y, z 值在一定時間範圍內的變化率,即可進行裝置是否有進行晃動的判斷。而為了防止正常移動的誤判,需要給該變化率設定一個合適的臨界值。
[JavaScript] 純文字檢視 複製程式碼function deviceMotionHandler(eventData) { var acceleration = eventData.accelerationIncludingGravity; var curTime = new Date().getTime(); if ((curTime - last_update) > 100) { var diffTime = curTime - last_update; last_update = curTime; x = acceleration.x; y = acceleration.y; z = acceleration.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; } }
相關文章
- Flutter 實現微信搖一搖的功能 Flutter 加速度感應Flutter
- Android利用感測器實現-仿微信搖一搖Android
- iOS-OC-仿微信搖一搖iOS
- iOS微信朋友圈與搖一搖iOS
- 微信搖一搖的一個有趣應用
- swift實現仿知乎搖一搖彈出框Swift
- 微信IOS中搖一搖無法播放聲音iOS
- HTML5 語音聊天 IM|仿微信語音介面|搖一搖效果HTML
- html5版聊天室|仿微信語音|搖一搖|地圖定位HTML地圖
- Android搖一搖、螢幕方向的監聽Android
- Unity基於NGUI的簡單並可直接使用的虛擬搖桿實現(一)UnityNGUI
- Android通過輔助功能實現搶微信紅包原理簡單介紹Android
- iOS通過加速計計算搖一搖次數iOS
- 簡單介紹SpringMVC RESTFul實現列表功能SpringMVCREST
- 如何用純 CSS 創作一個搖搖晃晃的 loaderCSS
- AngularJS實現的表單編輯提交功能簡單介紹AngularJS
- 實現微信內建瀏覽器線上支付簡單介紹瀏覽器
- 搖桿程式
- 不會吧,這也行?iOS後臺鎖屏監聽搖一搖iOS
- 簡單介紹Android自定義View實現時鐘功能AndroidView
- 簡單介紹numpy實現RNN原理實現RNN
- 簡單介紹NMS的實現方法
- javascript實現繼承方式簡單介紹JavaScript繼承
- javascript實現鏈式呼叫簡單介紹JavaScript
- javascript實現二維陣列實現簡單介紹JavaScript陣列
- 和 transformjs 一起搖擺ORMJS
- 和transformjs一起搖擺ORMJS
- spark簡單介紹(一)Spark
- webpack 搖樹處理Web
- 簡單介紹基於Redis的List實現特價商品列表功能Redis
- 使用CORS實現ajax跨域簡單介紹CORS跨域
- 盤點叫車App市場:嘀嘀、搖搖、易叫車列前三APP
- 簡單介紹recorder.js 基於Html5錄音功能的實現JSHTML
- RPC模式的介紹以及簡單的實現RPC模式
- 簡單介紹Go 字串比較的實現示例Go字串
- 實現跨域iframe介面方法呼叫 簡單介紹跨域
- javascript模擬實現私有屬性簡單介紹JavaScript
- jquery實現的元素居中外掛簡單介紹jQuery