日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

H5进阶篇--实现微信摇一摇功能

發(fā)布時間:2025/6/15 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 H5进阶篇--实现微信摇一摇功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封裝了設備的運動傳感器時間,通過改時間可以獲取設備的運動狀態(tài)、加速度等數據(另還有deviceOrientation事件提供了設備角度、朝向等信息)。
而通過DeviceMotion對設備運動狀態(tài)的判斷,則可以幫助我們在網頁上就實現“搖一搖”的交互效果。

運動事件監(jiān)聽

if (window.DeviceMotionEvent) {window.addEventListener('devicemotion', deviceMotionHandler, false); } else {alert('你的手機太差了,買個新的吧。'); }

獲取加速度信息
“搖一搖”的動作既“一定時間內設備了一定距離”,因此通過監(jiān)聽上一步獲取到的x, y, z 值在一定時間范圍內的變化率,即可進行設備是否有進行晃動的判斷。而為了防止正常移動的誤判,需要給該變化率設置一個合適的臨界值。

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;}}

效果如圖所示:

總結

以上是生活随笔為你收集整理的H5进阶篇--实现微信摇一摇功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。