基于HTML5實現(xiàn)類似微信手機搖一搖功能(計算搖動次數(shù))
發(fā)布時間:2017-07-24 15:46:39 作者:佚名
我要評論

這篇文章主要介紹了基于HTML5實現(xiàn)類似微信手機搖一搖功能(計算搖動次數(shù)),需要的朋友可以參考下
1、 deviceOrientation:封裝了方向傳感器數(shù)據(jù)的事件,可以獲取手機靜止?fàn)顟B(tài)下的方向數(shù)據(jù),例如手機所處角度、方位、朝向等。
2、 deviceMotion:封裝了運動傳感器數(shù)據(jù)的事件,可以獲取手機運動狀態(tài)下的運動加速度等數(shù)據(jù)。
不多說直接上代碼:
JavaScript:
var jsonObject=null; // 當(dāng)頁面加載完以后會執(zhí)行window.onload window.onload = function() { var times = -1; // 記錄搖動次數(shù) var last_time = 0; var borderSpeed = 800; // 加速度變化臨界值 var x = y = z = last_x = last_y = last_z = 0; if (window.DeviceMotionEvent) { window.addEventListener('devicemotion',shake,false); } else { alert('您的設(shè)備不支持搖一搖哦'); } // 每次手機移動的時候都會執(zhí)行下面shake函數(shù)的代碼 function shake(eventData) { var acceleration = eventData.accelerationIncludingGravity; var curTime = new Date().getTime(); var diffTime = curTime-last_time; // 每隔100ms進行判斷 if (diffTime>100) { x = acceleration.x; y = acceleration.y; z = acceleration.z; var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000; // 判斷手機確實發(fā)生了搖動而不是正常的移動 if (speed>borderSpeed) { times++; document.getElementById("text").innerHTML=times+" times"; // 用戶的微信昵稱和頭像連接發(fā)送一次即可,不需要每次都發(fā)送 if (times==0) { document.forms["insertForm"].headimg.value =img ; document.forms["insertForm"].user.value = nickname; } document.forms["insertForm"].time.value = times; } last_time = curTime; last_x = x; last_y = y; last_z = z; } } }
html:
<img src="hand.png"> <br/><font size="16" color="red" id="text"></font>
總結(jié)
以上所述是小編給大家介紹的基于HTML5實現(xiàn)類似微信手機搖一搖功能(計算搖動次數(shù)),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
- 小編最近開發(fā)一個基于html5開發(fā)的一個微信聊天前端界面,功能很全面,下面小編給大家分享實例代碼,需要的朋友參考下2018-01-29
- 這篇文章主要介紹了詳解html5 canvas 微信海報分享(個人爬坑)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-12
HTML5實現(xiàn)分享到微信好友朋友圈QQ好友QQ空間微博二維碼功能
這篇文章主要介紹了HTML5實現(xiàn)分享到微信好友朋友圈QQ好友QQ空間微博二維碼功能的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-03利用HTML5+css3+jquery+weui實現(xiàn)仿微信聊天界面功能
這篇文章主要介紹了利用HTML5+css3+jquery+weui實現(xiàn)仿微信聊天界面功能的相關(guān)資料,需要的朋友可以參考下2018-01-08html5 canvas合成海報所遇問題及解決方案總結(jié)
這篇文章主要介紹了html5 canvas合成海報所遇問題及解決方案總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-03- 在ios和安卓手機里的微信下播放視頻時,會遇到不少問題,例如需要手動點擊,視頻才會播放,并且視頻會跳出微信框,出現(xiàn)控制條,如果視頻不是騰訊視頻,播放完畢會出現(xiàn)騰訊2017-03-09
HTML5頁面音視頻在微信和app下自動播放的實現(xiàn)方法
現(xiàn)在大部分的H5頁面都有實現(xiàn)播放背景音樂,播放視頻功能。那怎么實現(xiàn)自動播放呢?下面小編給大家?guī)砹薍TML5頁面音視頻在微信和app下自動播放的實現(xiàn)方法2016-10-20- 這篇文章主要為大家詳細介紹了HTML5仿手機微信聊天界面的關(guān)鍵代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-03-18
- 這篇文章主要介紹了微信端html5頁面調(diào)用分享接口示例的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-14