无为清净楼资源网 Design By www.qnjia.com
废话不多说了,直接给大家贴代码了,具体代码如下所示:
var Shaker = function(f){ // 摇一摇: 检测到3次摇动算一次摇一摇, 摇动后调用处理函数, 不再检测摇动 // f 摇动后的回调 this.callback = f; this.status = 0; // 0: 侦听未开始 1: 侦听开始 this.speed = 15; this.lastX = this.lastY = this.lastZ = 0; this.num = 0; // 检测触发次数 this.minNum = 3; // 最小检测触发次数 this.beginSecond = 0; // 开始检测的秒数 this.maxSecond = 3; // 最大间隔秒数 this.handlerWrap = function(){}; } Shaker.prototype.listen = function(){ // 侦听摇动 var that = this; if (this.status == 0 && window.DeviceMotionEvent) { this.status = 1; this.handlerWrap = function(event){ that.handler(event) } window.addEventListener('devicemotion', this.handlerWrap, false); } } Shaker.prototype.release = function(){ // 停止侦听 if(this.status == 1){ if (window.DeviceMotionEvent) { window.removeEventListener('devicemotion', this.handlerWrap); } this.status = 0; this.num = 0; } } Shaker.prototype.reset = function(){ // 重置检测 if(this.status == 1){ this.num = 0; } } Shaker.prototype.handler = function(event){ // 传感器事件处理 if(this.status == 1){ var acceleration =event.accelerationIncludingGravity; var x = acceleration.x; var y = acceleration.y; var z = acceleration.z; if( Math.abs(x-this.lastX) > this.speed || Math.abs(y-this.lastY) > this.speed || Math.abs(z-this.lastZ) > this.speed ) { if(this.num == 0){ this.beginSecond = Date.parse(new Date()) / 1000 } this.num += 1; } this.lastX = x; this.lastY = y; this.lastZ = z; if(this.num >= this.minNum){ var now = Date.parse(new Date()) / 1000; if(now - this.beginSecond <= this.maxSecond){ this.release(); if(this.callback){ this.callback(); } } this.reset(); } } }
用法:
var s = new Shaker(function(){ /*摇动后的回调*/ }); s.listen();
好了,本文所述给大家介绍到这里,后续还会持续更新,希望本文给大家分享网页检测摇一摇实例代码的相关知识对大家有所帮助。
标签:
网页摇一摇
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年11月20日
2024年11月20日
- [ABC]蔡琴《百万琴歌[6N纯银镀膜]》[低速原抓WAV+CUE]
- 群星《国风超有戏 第7期》[FLAC/分轨][147.99MB]
- 群星《闪光的夏天 第3期》[320K/MP3][61.94MB]
- 群星《闪光的夏天 第3期》[FLAC/分轨][336MB]
- 【迷幻电音】Elea-2024-Hypnos(FLAC)
- 【民族融合】VA-2024-TheOrientCollective:GoldenSand(FLAC)
- 谭嘉仪-EyesOnMe新曲+精选2022【低速原抓WAV+CUE】
- 尚士达《莫回头》[320K/MP3][184.64MB]
- 尚士达《莫回头》[Hi-Res][24bit 48kHz][FLAC/分轨][1.27G]
- 群星《奔赴!万人现场 第3期》[320K/MP3][98.9MB]
- 谭嘉仪《Lonely》【WAV+CUE】
- 群星《红色钢琴浪漫曲》2CD【WAV+CUE】
- 凤飞飞《浮世情怀》HQCD[正版原抓WAV+CUE]
- 群星《奔赴!万人现场 第3期》[FLAC/分轨][537.75MB]
- 群星 《2024好听新歌23》十倍音质 U盘音乐 [WAV分轨][1.6G]