国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

分享網頁檢測搖一搖實例代碼

2024-05-06 16:27:52
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了分享網頁檢測搖一搖實例代碼的相關資料,需要的朋友可以參考下
 

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

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();

好了,本文所述給大家介紹到這里,后續還會持續更新,希望本文給大家分享網頁檢測搖一搖實例代碼的相關知識對大家有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 社旗县| 和顺县| 桓仁| 原阳县| 斗六市| 双牌县| 垣曲县| 公主岭市| 库尔勒市| 章丘市| 石屏县| 吴桥县| 贵阳市| 巴林右旗| 大庆市| 通榆县| 莱州市| 黄山市| 南通市| 乌鲁木齐县| 富蕴县| 清新县| 阿鲁科尔沁旗| 康定县| 五台县| 潢川县| 香格里拉县| 新野县| 南乐县| 宁南县| 柏乡县| 汶上县| 林芝县| 武邑县| 久治县| 绥芬河市| 汉川市| 卢湾区| 双桥区| 阜南县| 南通市|