亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

分享網(wǎng)頁檢測搖一搖實(shí)例代碼

 更新時間:2016年01月14日 15:05:55   投稿:mrr  
這篇文章主要介紹了分享網(wǎng)頁檢測搖一搖實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

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

var Shaker = function(f){
// 搖一搖: 檢測到3次搖動算一次搖一搖, 搖動后調(diào)用處理函數(shù), 不再檢測搖動
// f 搖動后的回調(diào)
this.callback = f;
this.status = 0; // 0: 偵聽未開始 1: 偵聽開始 
this.speed = 15;
this.lastX = this.lastY = this.lastZ = 0;
this.num = 0; // 檢測觸發(fā)次數(shù)
this.minNum = 3; // 最小檢測觸發(fā)次數(shù)
this.beginSecond = 0; // 開始檢測的秒數(shù)
this.maxSecond = 3; // 最大間隔秒數(shù)
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(){ /*搖動后的回調(diào)*/ });
s.listen();

好了,本文所述給大家介紹到這里,后續(xù)還會持續(xù)更新,希望本文給大家分享網(wǎng)頁檢測搖一搖實(shí)例代碼的相關(guān)知識對大家有所幫助。

相關(guān)文章

  • 如何通過setTimeout理解JS運(yùn)行機(jī)制詳解

    如何通過setTimeout理解JS運(yùn)行機(jī)制詳解

    這篇文章主要給大家介紹了關(guān)于如何通過setTimeout理解JS運(yùn)行機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • JS實(shí)現(xiàn)課程表小程序(仿超級課程表)加入自定義背景功能

    JS實(shí)現(xiàn)課程表小程序(仿超級課程表)加入自定義背景功能

    這篇文章主要介紹了JS實(shí)現(xiàn)課程表小程序(仿超級課程表)加入自定義背景功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 詳解JavaScript es6的新增數(shù)組方法

    詳解JavaScript es6的新增數(shù)組方法

    這篇文章主要為大家介紹了JavaScript es6的新增數(shù)組方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Window.Open如何在同一個標(biāo)簽頁打開

    Window.Open如何在同一個標(biāo)簽頁打開

    這篇文章主要介紹了Window.Open如何在同一個標(biāo)簽頁打開,需要的朋友可以參考下
    2014-06-06
  • javascript 獲取radio的value的函數(shù) [已測]

    javascript 獲取radio的value的函數(shù) [已測]

    javascript 獲取radio的value的函數(shù) 如果與asp,php等后臺語言結(jié)合時,一般用不到,但在純js環(huán)境下是必須的。
    2009-06-06
  • JavaScript this的原理以及指向詳解

    JavaScript this的原理以及指向詳解

    面向?qū)ο笳Z言中 this 表示當(dāng)前對象的一個引用。但在 JavaScript 中 this 不是固定不變的,它會隨著執(zhí)行環(huán)境的改變而改變,在方法中,this 表示該方法所屬的對象,如果單獨(dú)使用,this 表示全局對象
    2021-10-10
  • cocos2dx+lua實(shí)現(xiàn)橡皮擦功能

    cocos2dx+lua實(shí)現(xiàn)橡皮擦功能

    這篇文章主要為大家詳細(xì)介紹了cocos2dx+lua實(shí)現(xiàn)橡皮擦功能,類似刮刮樂效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • js中什么時候不能使用箭頭函數(shù)

    js中什么時候不能使用箭頭函數(shù)

    箭頭函數(shù)是和我們工作密切相關(guān)的東西,本文主要介紹了js中什么時候不能使用箭頭函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 史上最全JavaScript常用的簡寫技巧(推薦)

    史上最全JavaScript常用的簡寫技巧(推薦)

    這篇文章主要介紹了JavaScript常用的簡寫技巧,列舉了20條js中常用的簡寫技巧,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下
    2017-08-08
  • js實(shí)現(xiàn)無縫滾動雙圖切換效果

    js實(shí)現(xiàn)無縫滾動雙圖切換效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)無縫滾動雙圖切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論