最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

html5手机摇一摇

来源:http://www.erdangjiade.com/ 沐浴春风 2015-08-21 02:20浏览(1779)

本文摇一摇效果基于html5方向感应DeviceOrientation,它将底层的方向和运动传感器进行了高级封装,轻松的实现重力感应、指南针等有趣的功能。本文将结合实例给大家介绍使用HTML5的重力运动和方向传感器实现手机摇一摇效果

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。在线 充值

html5手机摇一摇
分类:html5 > 摇一摇 难易:高级
查看演示

加我微信,拉你进VIP群学习:

下载资源 下载积分: 30 积分

DeviceOrientation特点:

  • 封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度、方位、朝向等。
  • 封装了运动传感器数据的事件,可以获取手机运动状态下的运动加速度等数据。

div#hand是用来放置一个手摇的图片,而div#result则表示摇动后的结果。

<div id="hand" class="hand hand-animate"></div> 
<div id="result"></div>

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

HTML5判断设备晃动的代码我们使用已经封装好的,点击下载shake.js

<script src="shake.js"></script>

首先实例化Shake,然后启动开始监听设备运动情况,监听设备运动,回调监听结果:shakeEventDidOccur。

window.onload = function() { 
    var myShakeEvent = new Shake({ 
        threshold: 15 
    }); 
 
    myShakeEvent.start(); 
 
    window.addEventListener('shake', shakeEventDidOccur, false); 
 
    function shakeEventDidOccur () { 
        var result = document.getElementById("result"); 
        result.className = "result"; 
        var arr = ['妹子一枚','福利图片一套','码农笔记一本','土豪金一台']; 
        var num = Math.floor(Math.random()*4); 
        result.innerHTML = "恭喜,摇得"+arr[num]+"!"; 
        setTimeout(function(){ 
            result.className = "result result-show"; 
        }, 1000); 
    } 
};

这里,函数shakeEventDidOccur()可以自定义,本例是将摇晃后的结果返回在页面上展示出来,请看DEMO演示。

二维码链接生成跳转,可以参考素材火的jquery+qrcode生成二维码http://www.erdangjiade.com/jquery/demo/0/13/,或者用php生成二维码:http://www.erdangjiade.com/js/247.html

声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/js/299.html
评论2
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 椅子
    12-22 08:24
    ngu137
    沙发。。。。。。。。。。。。。。。。。
  • 头像 沙发
    03-16 10:41
    jkin_wan
    不错演示,封装js也不错
1 2