婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Html5監(jiān)聽手機搖一搖事件的實現(xiàn)

Html5監(jiān)聽手機搖一搖事件的實現(xiàn)

熱門標(biāo)簽:高德地圖標(biāo)注商戶怎么標(biāo) ok電銷機器人 如何查看地圖標(biāo)注 欣鼎電銷機器人 效果 電話機器人技術(shù) 智能電銷機器人被禁用了么 黃石ai電銷機器人呼叫中心 惡搞電話機器人 地圖標(biāo)注軟件打印出來

MDN地址:

https://developer.mozilla.org/zh-CN/docs/Web/API/DeviceMotionEvent/DeviceMotionEvent

下面為vue實現(xiàn)代碼

<template>
  <div id="Shake">
    <van-popup v-model="show">
      <div class="ad-box">
        <span class="skip-ad" @click="hideAD">跳過廣告({{time}})</span>
        <img src="../../../../assets/img/shake/shake_ad.jpg" alt>
      </div>
    </van-popup>
    <div class="shake-page">
      <span class="cash-withdrawal-btn">提現(xiàn)</span>
      <img
        class="shake-img shake-horizontal"
        :class="shake?'shake-horizontal-move':''"
        src="../../../../assets/img/shake/shake.png"
        alt="搖一搖"
        @click="shakeImg"
      >
    </div>
    <audio
      style="display: none;"
      :src="publicDir + '/static/audio/5018.mp3'"
      ref="musicBox"
      preload="preload"
      controls
    ></audio>
  </div>
</template>

<script>
import { setTimeout } from "timers";
import config from "../../../../utils/config.js";
export default {
  name: "Shake",
  data() {
    return {
      time: 5,
      show: true,
      shake: false,
      SHAKE_THRESHOLD: 3000,
      last_update: 0,
      last_x: 0,
      last_y: 0,
      last_z: 0,
      publicDir: config.publicDir
    };
  },
  mounted() {
    this.init();
    this.countDown();
  },
  methods: {
    // 廣告倒計時
    countDown() {
      setTimeout(() => {
        if (this.time < 1) {
          this.show = false;
        } else {
          this.time--;
          this.countDown();
        }
      }, 1000);
    },
    // 顯示廣告
    showPopup() {
      this.show = true;
    },
    // 隱藏廣告
    hideAD() {
      this.show = false;
    },
    // 開啟圖片搖動效果
    shakeImg() {
      if (!this.show) {
        this.shake = true;
        this.$refs.musicBox.play();
        window.removeEventListener("devicemotion", this.deviceMotionHandler, false);
        setTimeout(() => {
          this.shake = false;
          this.routerPush("/RedBag");
        }, 2000);
      }
    },
    // 路由跳轉(zhuǎn)
    routerPush(path, query) {
      this.$router.push({
        path,
        query
      });
    },
    // 初始化搖一搖,添加搖動監(jiān)聽
    init() {
      this.last_update = new Date().getTime();
      if (window.DeviceMotionEvent) {
        window.addEventListener(
          "devicemotion",
          this.deviceMotionHandler,
          false
        );
      } else {
        alert("not support mobile event");
      }
    },
    // 搖一搖事件回調(diào)函數(shù)
    deviceMotionHandler(eventData) {
      var acceleration = eventData.accelerationIncludingGravity;
      var curTime = new Date().getTime();
      if (curTime - this.last_update > 100) {
        var diffTime = curTime - this.last_update;
        this.last_update = curTime;
        var x = 0,
          y = 0,
          z = 0;
        x = acceleration.x;
        y = acceleration.y;
        z = acceleration.z;
        var speed =
          (Math.abs(x + y + z - this.last_x - this.last_y - this.last_z) /
            diffTime) *
          10000;
        if (Number(speed) > Number(this.SHAKE_THRESHOLD)) {
          // 判斷為搖一搖動作
          this.shakeImg();
        }
        this.last_x = x;
        this.last_y = y;
        this.last_z = z;
      }
    }
  }
};
</script>

<style lang="less">
#Shake {
  .ad-box {
    width: 100vw;
    height: 100vh;
    img {
      width: 100%;
      height: 100%;
    }
  }
  .skip-ad {
    position: fixed;
    top: 20px;
    right: 20px;
    color: white;
    background-color: rgba(0, 0, 0, 0.2);
    padding: 10px 20px;
    border-radius: 10px;
  }
  .shake-page {
    width: 100vw;
    height: 100vh;
    background-image: url("../../../../assets/img/shake/shake_bg.jpg");
    background-size: 100% 100%;
    padding-top: 0.1px;
    .shake-img {
      display: block;
      width: 469px;
      height: auto;
      margin: auto;
      margin-top: 350px;
      pointer-events: auto;
    }
  }
  .cash-withdrawal-btn {
    color: white;
    position: fixed;
    border: 1px solid #eee;
    padding: 5px 40px;
    border-radius: 25px;
    top: 30px;
    right: 20px;
  }
  .shake-horizontal-move {
    display: inherit;
    transform-origin: center center;
    animation-play-state: running;
    animation-name: shake-horizontal;
    animation-duration: 100ms;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
  }
  @keyframes shake-horizontal {
    2% {
      transform: translate(-7px, 0) rotate(0);
    }

    4% {
      transform: translate(-5px, 0) rotate(0);
    }

    6% {
      transform: translate(4px, 0) rotate(0);
    }

    8% {
      transform: translate(-4px, 0) rotate(0);
    }

    10% {
      transform: translate(-6px, 0) rotate(0);
    }

    12% {
      transform: translate(2px, 0) rotate(0);
    }

    14% {
      transform: translate(-5px, 0) rotate(0);
    }

    16% {
      transform: translate(-3px, 0) rotate(0);
    }

    18% {
      transform: translate(2px, 0) rotate(0);
    }

    20% {
      transform: translate(3px, 0) rotate(0);
    }

    22% {
      transform: translate(-2px, 0) rotate(0);
    }

    24% {
      transform: translate(-3px, 0) rotate(0);
    }

    26% {
      transform: translate(-9px, 0) rotate(0);
    }

    28% {
      transform: translate(2px, 0) rotate(0);
    }

    30% {
      transform: translate(7px, 0) rotate(0);
    }

    32% {
      transform: translate(2px, 0) rotate(0);
    }

    34% {
      transform: translate(0px, 0) rotate(0);
    }

    36% {
      transform: translate(-1px, 0) rotate(0);
    }

    38% {
      transform: translate(6px, 0) rotate(0);
    }

    40% {
      transform: translate(-7px, 0) rotate(0);
    }

    42% {
      transform: translate(0px, 0) rotate(0);
    }

    44% {
      transform: translate(-1px, 0) rotate(0);
    }

    46% {
      transform: translate(-2px, 0) rotate(0);
    }

    48% {
      transform: translate(10px, 0) rotate(0);
    }

    50% {
      transform: translate(-8px, 0) rotate(0);
    }

    52% {
      transform: translate(-9px, 0) rotate(0);
    }

    54% {
      transform: translate(9px, 0) rotate(0);
    }

    56% {
      transform: translate(-2px, 0) rotate(0);
    }

    58% {
      transform: translate(-5px, 0) rotate(0);
    }

    60% {
      transform: translate(2px, 0) rotate(0);
    }

    62% {
      transform: translate(-4px, 0) rotate(0);
    }

    64% {
      transform: translate(1px, 0) rotate(0);
    }

    66% {
      transform: translate(-3px, 0) rotate(0);
    }

    68% {
      transform: translate(10px, 0) rotate(0);
    }

    70% {
      transform: translate(4px, 0) rotate(0);
    }

    72% {
      transform: translate(-6px, 0) rotate(0);
    }

    74% {
      transform: translate(-6px, 0) rotate(0);
    }

    76% {
      transform: translate(2px, 0) rotate(0);
    }

    78% {
      transform: translate(-2px, 0) rotate(0);
    }

    80% {
      transform: translate(-6px, 0) rotate(0);
    }

    82% {
      transform: translate(-1px, 0) rotate(0);
    }

    84% {
      transform: translate(-6px, 0) rotate(0);
    }

    86% {
      transform: translate(-5px, 0) rotate(0);
    }

    88% {
      transform: translate(-1px, 0) rotate(0);
    }

    90% {
      transform: translate(-1px, 0) rotate(0);
    }

    92% {
      transform: translate(-1px, 0) rotate(0);
    }

    94% {
      transform: translate(-3px, 0) rotate(0);
    }

    96% {
      transform: translate(-6px, 0) rotate(0);
    }

    98% {
      transform: translate(-6px, 0) rotate(0);
    }

    0%,
    100% {
      transform: translate(0, 0) rotate(0);
    }
  }
}
</style>

注意:iphone需要在https下才可觸發(fā)監(jiān)聽事件

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:綏化 中山 盤錦 金昌 萍鄉(xiāng) 赤峰 聊城 阿壩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Html5監(jiān)聽手機搖一搖事件的實現(xiàn)》,本文關(guān)鍵詞  Html5,監(jiān)聽,手機,搖,一搖,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Html5監(jiān)聽手機搖一搖事件的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Html5監(jiān)聽手機搖一搖事件的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    高清日韩电视剧大全免费| 视频一区在线播放| 国产精品久久二区二区| 成人综合在线视频| 日韩一区二区精品| 在线成人小视频| 韩国理伦片一区二区三区在线播放| 国产偷国产偷精品高清尤物 | 国产日韩欧美综合在线| 美女一区二区在线观看| 国产午夜精品久久久久久久 | 国产做a爰片久久毛片 | 欧美性大战久久久久久久| 26uuu成人网一区二区三区| 日韩中文字幕1| 日韩美女视频在线| 捆绑紧缚一区二区三区视频| 五月婷婷久久综合| 五月婷婷欧美视频| 久久av中文字幕片| 91在线云播放| 亚洲第一二三四区| 国产欧美一区视频| 丁香婷婷综合五月| 最新不卡av在线| 寂寞少妇一区二区三区| 亚洲妇女屁股眼交7| 国产精品一二三区在线| 成人高清视频免费观看| 欧美videossexotv100| 欧美伊人精品成人久久综合97| 蜜臀av在线播放一区二区三区| 国产精品一区专区| 成人一级片在线观看| 日韩视频免费观看高清完整版| 天天综合网天天综合色 | 成人黄色电影在线 | 欧美乱妇一区二区三区不卡视频| 国产午夜精品理论片a级大结局 | 国产精品不卡在线观看| 久久久久综合网| 欧美亚洲动漫精品| 制服丝袜av成人在线看| av不卡在线播放| 日韩一区二区三| 国产一区二区三区综合| 天天操天天干天天综合网| 欧美性色aⅴ视频一区日韩精品| 成人免费一区二区三区在线观看| 精品无人码麻豆乱码1区2区 | 国产在线乱码一区二区三区| 制服丝袜在线91| 三级亚洲高清视频| 色综合久久中文综合久久97 | 另类专区欧美蜜桃臀第一页| 国产一区在线观看视频| 亚洲天堂成人在线观看| 另类的小说在线视频另类成人小视频在线| 欧美理论片在线| 福利视频网站一区二区三区| 欧美人妖巨大在线| 成人av影视在线观看| 91女神在线视频| 日韩亚洲欧美中文三级| 亚洲成av人在线观看| 国内久久婷婷综合| 欧美调教femdomvk| 成人免费在线视频观看| 欧美天堂一区二区三区| 久久午夜电影网| 青青草97国产精品免费观看| av男人天堂一区| 成人丝袜视频网| 午夜电影网亚洲视频| 精品视频123区在线观看| 亚洲国产精品精华液ab| 欧美色图在线观看| 亚洲欧美综合色| 97精品国产97久久久久久久久久久久 | 久久伊人蜜桃av一区二区| 日韩高清不卡在线| 欧美一区二区黄| 国产不卡视频在线观看| 亚洲欧美日韩系列| 亚洲黄色性网站| 国产精品欧美一级免费| 亚洲综合男人的天堂| 色婷婷av一区二区三区gif| 午夜久久久久久久久久一区二区| 蜜臀av一区二区在线免费观看| 91精品久久久久久久99蜜桃| 国产亚洲精品中文字幕| 在线这里只有精品| 亚洲一区二区在线播放相泽| 成人午夜免费电影| 韩国理伦片一区二区三区在线播放 | 国产一区二区三区美女| 日韩福利电影在线观看| 中文字幕日韩一区| 国产精品污www在线观看| 国产精品剧情在线亚洲| 26uuu精品一区二区在线观看| 国产老女人精品毛片久久| 亚洲图片欧美综合| 在线精品观看国产| 制服丝袜亚洲色图| 国内一区二区视频| 欧美妇女性影城| 欧美成人精品1314www| 久久99久久精品| 中文字幕欧美国产| 青椒成人免费视频| 久久99精品一区二区三区| 久久国产精品免费| 亚洲 欧美综合在线网络| 国产精品久久三| 中文字幕不卡的av| 欧美日韩亚洲不卡| 欧美亚洲一区三区| 亚洲一区在线观看免费| 五月天丁香久久| 亚洲黄色性网站| 91精品福利在线一区二区三区 | 中文字幕欧美国产| 国产精品第五页| 中文一区二区完整视频在线观看 | 成人一二三区视频| 综合亚洲深深色噜噜狠狠网站| 夜色激情一区二区| 亚洲日本在线视频观看| 成人一区在线观看| 久久综合99re88久久爱| 久久精品国内一区二区三区| 91精品久久久久久久91蜜桃| 成人午夜av电影| 中文字幕一区二区视频| 久久激情综合网| 国产麻豆视频精品| 日韩欧美国产一区二区在线播放| 欧美视频完全免费看| 亚洲色大成网站www久久九九| 一区二区三区精品| 亚洲成在人线免费| 蜜桃精品视频在线观看| 国产精品久久久久四虎| 日韩二区三区四区| 亚洲视频中文字幕| 亚洲男人天堂av| ...av二区三区久久精品| 自拍偷拍亚洲欧美日韩| 91网站最新网址| 欧美日韩aaa| 国产视频911| 日本一区二区视频在线| 久久久久久一级片| 日韩精品电影一区亚洲| 国产精品久久久久久亚洲伦| 欧美激情在线一区二区三区| 国产亚洲欧洲一区高清在线观看| 91在线观看高清| 亚洲一区在线视频| 日本v片在线高清不卡在线观看| 亚洲一区二区四区蜜桃| 日本女优在线视频一区二区| 欧美视频在线一区| 一本久久综合亚洲鲁鲁五月天| 欧美性生活久久| 老司机精品视频线观看86| 欧美成人一区二区三区片免费 | 日韩一区精品字幕| 美女视频一区在线观看| 亚洲不卡在线观看| 欧美日韩免费高清一区色橹橹| 不卡一卡二卡三乱码免费网站| 国产一区欧美二区| 亚洲色图一区二区| 日本高清无吗v一区| 亚洲欧洲精品一区二区三区| 国产精品色眯眯| 男男gaygay亚洲| 日韩精品在线一区二区| 老色鬼精品视频在线观看播放| 日韩精品国产精品| 久久精品国产99国产| 国产一区二区三区免费播放| 日韩写真欧美这视频| 亚洲欧美一区二区三区国产精品 | 亚洲人成网站影音先锋播放| 亚洲精品一卡二卡| 亚洲人成网站色在线观看| 成人一区二区在线观看| 日本视频一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品无人区卡一卡二卡三乱码免费卡| 制服丝袜亚洲精品中文字幕| 国产激情一区二区三区四区 | 一区二区日韩av| 亚洲黄色片在线观看| 国产精品久久久久久久久免费樱桃| 亚洲图片有声小说|