日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTML5——监听手机的一些事件:手机加速度devicemotion、设备方向变化deviceorientation、手机摇一摇、指南针

發布時間:2023/12/14 HTML 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTML5——监听手机的一些事件:手机加速度devicemotion、设备方向变化deviceorientation、手机摇一摇、指南针 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. devicemotion:監聽手機加速度變化的事件(比如:手機瘋狂搖擺)

屬性:均為只讀屬性

(1)accelerationIncludingGravity:重力加速度(包括重心引力9.8)

(2)acceleration:加速度(需要設備陀螺儀支持)

(3)rotationRate(alpha,beat,gamma);旋轉速度

(4)interval:獲取的時間間隔

搖一搖:

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>test</title><style>#redPacket{position: absolute;left: 50%;top: 50%;width: 300px;height: 400px;/* border: 1px solid black; */margin-top: -200px;margin-left: -150px;opacity: 0;}#tip{color: red;font-size: 40px;opacity: 1;}</style> </head><body><div id="tip">搖一搖得紅包</div><div id="redPacket"></div><script>var SHAKE_THRESHOLD = 800;var last_update = 0;var x, y, z, last_x=0, last_y=0, last_z=0;function deviceMotionHeadler(eventData){var acceleration = eventData.accelerationIncludingGravity;var curTime = new Date().getTime();if((curTime - last_update) > 300){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;if(speed > SHAKE_THRESHOLD){alert('恭喜你獲得紅包!');var div = document.getElementById('redPacket');var img = new Image();img.src = 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3378701361,2399708000&fm=27&gp=0.jpg';img.onload = function(){div.appendChild(img);img.style.width = '300px';img.style.height = '400px';tip.style.opacity = 0;div.style.opacity = 1;}}last_x = x;last_y = y;last_z = z;}} window.addEventListener('devicemotion', deviceMotionHeadler, false);</script> </body></html>

理解:手機抖動的時間要大于300ms,防止用戶拿手機時,突然抖動而觸發搖一搖功能;速度要大于800,證明用戶是在快速搖手機。?

2. deviceOrientation:監聽設備在方向上的變化的事件

詳情:https://developer.mozilla.org/zh-CN/docs/Web/API/Detecting_device_orientation

屬性:

alpha:設備沿z軸方向的選轉,水平面上的選擇,范圍:-360~360

beta:設備沿x軸方向的旋轉,由前向后,范圍:-180~180

gamma:設備沿y軸方向的旋轉,由左向右,范圍:-90~90

webkitCompassHeading:與正北方向的角度差,正北方向為0,正南方向:180;范圍:0~360;(安卓手機沒有該方法)

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title> </head> <body><p>旋轉:<span id="alpha">0</span></p><p>前后:<span id="beta">0</span></p><p>扭轉:<span id="gamma">0</span></p><p>方向:<span id="heading">0</span></p><script>function DeviceOrientationHandler(event){var alpha = event.alpha,beta = event.beta,gamma = event.gamma,webkitCompassHeading = event.webkitCompassHeading;if(alpha != null || beta != null || gamma != null){//判斷屏幕方向var html = "";if( gamma > 0 ){html = "向右傾斜" + gamma;}else{html = "向左傾斜" + gamma;}document.getElementById("gamma").innerHTML = html;var str = '';if( beta > 0 ){str = "向前傾斜" + beta;}else{str = "向后傾斜" + beta;}var head = '';var headNum = Math.round(Math.round(webkitCompassHeading/45) + 7)%8;switch (headNum) {case 0:head = '東北';break;case 1:head = '東';break;case 2:head = '東南';break;case 3:head = '南';break;case 4:head = '西南';break;case 5:head = '西';break;case 6:head = '西北';break;case 7:head = '北';}document.getElementById("beta").innerHTML = str;document.getElementById("alpha").innerHTML = alpha;document.getElementById('heading').innerHTML = head + ' ' + webkitCompassHeading;}else{document.body.innerHTML = "當前瀏覽器不支持DeviceOrientation";}}if(window.DeviceOrientationEvent){window.addEventListener('deviceorientation',DeviceOrientationHandler, false);}else{alert("您的瀏覽器不支持DeviceOrientation");}</script> </body> </html>

?

?

指南針:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>*{padding: 0;margin: 0;list-style: none;}html{background: #333;color: #fff;}.box{position: relative;top: 100px;margin: 0 auto;width: 300px;height: 300px;/* border: 1px solid #fff; */}.pin{position: absolute;top: -50px;left: 50%;margin-left: -2px;width: 4px;height: 50px;background: #fff;}.ten{position: absolute;top: 50%;left: 50%;margin-left: -100px;margin-top: -100px;width: 200px;height: 200px;}.h, .l{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);background: #fff;}.ten .h{width: 2px;height: 200px;}.ten .l{width: 200px;height: 2px;}ul{width: 300px;height: 300px;border-radius: 50%;transition: all 10ms linear;}li{position: absolute;top: 0;left: 50%;margin-left: -1px;width: 2px;height: 20px;background: red;transform-origin: 1px 150px;}span{position: absolute;top: -20px;left: 50%;transform: translate(-50%, -50%);color: #fff;} </style> </head> <body><p>方向:<div id="heading">0</div></p> <div class="box"><div class="pin"></div> <div class="ten"><div class="l"></div><div class="h"></div></div><ul><li><span style="color:red">0</span></li><li><span>330</span></li><li><span>300</span></li><li><span>270</span></li><li><span>240</span></li><li><span>210</span></li><li><span>180</span></li><li><span>150</span></li><li><span>120</span></li><li><span>90</span></li><li><span>60</span></li><li><span>30</span></li></ul></div><script>function lineDraw() {var li = document.getElementsByTagName('li');var span = document.getElementsByTagName('span');var len = li.length;for(var i = 0; i < len; i++) { // span[i].style.transform = 'rotate('+ -30 * i+'deg)';li[i].style.transform = 'rotate('+30*i+'deg)';}}lineDraw();function move(ang) {var ul = document.getElementsByTagName('ul')[0];ul.style.transform= 'rotate('+ang+'deg)';}function DeviceOrientationHandler(event){var webkitCompassHeading = event.webkitCompassHeading;// if(webkitCompassHeading != null){//判斷屏幕方向var head = '';var headNum = Math.round(Math.round(webkitCompassHeading/45) + 7)%8;switch (headNum) {case 0:head = '東北';break;case 1:head = '東';break;case 2:head = '東南';break;case 3:head = '南';break;case 4:head = '西南';break;case 5:head = '西';break;case 6:head = '西北';break;case 7:head = '北';}move(webkitCompassHeading);document.getElementById('heading').innerHTML = head + ' ' + Math.round(webkitCompassHeading);// }else{// document.body.innerHTML = "當前瀏覽器不支持DeviceOrientation";// }}if(window.DeviceOrientationEvent){window.addEventListener('deviceorientation',DeviceOrientationHandler, false);}else{alert("您的瀏覽器不支持DeviceOrientation");} </script> </body> </html>

?

?

總結

以上是生活随笔為你收集整理的HTML5——监听手机的一些事件:手机加速度devicemotion、设备方向变化deviceorientation、手机摇一摇、指南针的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 成人av一区二区三区在线观看 | 18禁裸乳无遮挡啪啪无码免费 | www.日本在线视频 | 在线中文字幕一区 | 337p亚洲精品色噜噜噜 | 麻豆国产精品 | 国产日韩一区二区三免费高清 | 国产专区第一页 | 狠狠摸狠狠操 | 最色成人网 | 欧美专区第二页 | 噜噜噜亚洲色成人网站 | 日本在线视频www | 日本少妇18p | 日韩影视一区二区三区 | 国产精品蜜臀 | 久久精品23 | 长河落日电视连续剧免费观看 | 免费一区二区三区四区 | 亚洲精品20p | 国产精品视频一二三区 | 日韩国产毛片 | 国产一区二区色 | 国产欧美精品一区二区在线播放 | 成年在线观看视频 | 禁网站在线观看免费视频 | 97se.com| 噜噜噜网站 | 激情小说在线 | 在线日韩一区 | 337p日本欧洲亚洲大胆精筑 | 中文资源在线播放 | 国产一区二区福利 | 91n视频| 在线亚洲天堂 | 亚欧在线观看 | 美女av毛片 | 超碰人人人 | 欧美顶级毛片在线播放 | 性囗交免费视频观看 | 麻豆精品国产 | 毛片官网| 欧美一区二区三区公司 | 精品一区免费观看 | 成人1区2区 | 天堂网在线中文 | 夜色一区二区 | 粉嫩精品久久99综合一区 | 国产精品sm | 国产l精品国产亚洲区久久 午夜青青草 | 国产成人a亚洲精v品无码 | 麻豆视频在线观看免费网站黄 | 麻豆videos | 东方伊甸园av在线 | 在线看的av | 国产午夜精品一区二区 | 久久伊人爱 | 欧美成人黄色小视频 | 黄网地址| 黄色网战入口 | 久久无码人妻一区二区三区 | 久久黄色一级视频 | 国产精品36p| 久久精品视频91 | 97自拍视频在线 | 久久99精品久久久久子伦 | 老熟妇一区二区三区啪啪 | 麻豆偷拍 | 一级视频片 | 人妻天天爽夜夜爽一区二区三区 | 欧美色视频在线 | 国产日本在线 | 欧美在线va | 狠狠人妻久久久久久综合麻豆 | 97人人插| 色噜噜综合网 | 一级片久久 | 夜夜精品一区二区无码 | 伦理片波多野结衣 | 日本大尺度电影免费观看全集中文版 | 亚洲女人在线 | 国产一区二区三区免费 | 最近日韩免费视频 | 人妻少妇精品久久 | 久久成人亚洲 | 国产精品久久久久9999爆乳 | 999久久久 | 91狠狠操| 台湾佬美性中文网 | 一区二区三区视频观看 | 久操色| 亚洲乱码国产乱码精品精 | 日本中文字幕第一页 | 手机看片福利在线 | 69视频一区二区 | 色婷在线| 9999免费视频 | 综合色婷婷一区二区亚洲欧美国产 | 人人爽人人射 |