我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何通过html5 DeviceOrientation实现微信摇一摇功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何通过html5 DeviceOrientation实现微信摇一摇功能

这篇文章将为大家详细讲解有关如何通过html5 DeviceOrientation实现微信摇一摇功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态、加速度等数据(另还有deviceOrientation事件提供了设备角度、朝向等信息)。

而通过DeviceMotion对设备运动状态的判断,则可以帮助我们在网页上就实现“摇一摇”的交互效果。

运动事件监听

代码如下:

if (window.DeviceMotionEvent) {
    window.addEventListener('devicemotion', deviceMotionHandler, false);
} else {
    alert('你的手机太差了,买个新的吧。');
}

获取加速度信息

“摇一摇”的动作既“一定时间内设备了一定距离”,因此通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,即可进行设备是否有进行晃动的判断。而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。

代码如下:

function deviceMotionHandler(eventData) {
        var acceleration = eventData.accelerationIncludingGravity;
        var curTime = new Date().getTime();
        if ((curTime - last_update) > 100) {
            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;
            var status = document.getElementById("status");
            if (speed > SHAKE_THRESHOLD) {
                doResult();
            }
            last_x = x;
            last_y = y;
            last_z = z;
        }
    }

效果如图所示:

如何通过html5 DeviceOrientation实现微信摇一摇功能

关于如何通过html5 DeviceOrientation实现微信摇一摇功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何通过html5 DeviceOrientation实现微信摇一摇功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 微信摇一摇功能实现详细介绍

Android 微信摇一摇功能实现,最近学习传感器,就想实现摇一摇的功能,上网查了些资料,就整理下。如有错误,还请指正。 开发环境Android Studio 2.2.1JDK1.7API 24Gradle 2.2.1 相关知识点加速度传感
2022-06-06

Android利用传感器实现微信摇一摇功能

本文实例为大家分享了Android微信摇一摇功能的实现方法,供大家参考,具体内容如下import java.util.ArrayList; import java.util.List; import java.util.Random
2022-06-06

android 类似微信的摇一摇功能实现思路及代码

代码如下: package com.eboy.testyaoyiyao; import java.text.SimpleDateFormat; import java.util.Date; import android.app.Activi
2022-06-06

Android如何使用加速度传感器实现摇一摇功能

这篇文章将为大家详细讲解有关Android如何使用加速度传感器实现摇一摇功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:目前很多应用已经实现了摇一摇功能,这里通过讲解该功能的原理及实现回顾一下
2023-05-30

如何通过PHP实现微信小程序的高级功能?

如何通过PHP实现微信小程序的高级功能?随着微信小程序的快速发展,越来越多的开发者开始关注如何通过PHP实现微信小程序的高级功能。PHP是一种非常强大的后端编程语言,能够与微信小程序进行交互,实现一些复杂的功能和业务逻辑。在本文中,我将分享
2023-10-27

利用java如何实现一个短信通信功能

本篇文章为大家展示了利用java如何实现一个短信通信功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。短信信息的发送目前已经是项目中必不可少的部分,我们怎么通过web页面来实现把信息推送到别人手机上
2023-05-31

微信小程序服务通知功能如何实现

这篇文章主要介绍“微信小程序服务通知功能如何实现”,在日常操作中,相信很多人在微信小程序服务通知功能如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序服务通知功能如何实现”的疑惑有所帮助!接下来
2023-06-26

Java模仿微信如何实现零钱通简易功能

本篇文章为大家展示了Java模仿微信如何实现零钱通简易功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 需求描述使用Java 开发零钱通项目, 模仿微信实现简易功能,可以完成收益入账,消费,查
2023-06-22

如何利用HTML5+css3+jquery+weui实现仿微信聊天界面功能

这篇文章主要介绍如何利用HTML5+css3+jquery+weui实现仿微信聊天界面功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最新因项目需要,就利用HTML5+css3+jquery+weui做了一个仿微信
2023-06-09

使用java如何实现一个微信H5支付功能

这篇文章将为大家详细讲解有关使用java如何实现一个微信H5支付功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前面做了app微信支付的回调处理,现在需要做微信公众号的支付,花了一天多时间
2023-05-31

编程热搜

目录