使用Accelerometer 加速器效果图

示例代码

<!DOCTYPE html>
<html>
<head>
<title>
Cude PhoneGap Demo
</title>
<link
href="content/css/themes/default/jquery.mobile.structure-1.4.0-beta.1.min.css"
rel="stylesheet"
type="text/css"/>
<link href="content/css/themes/default/jquery.mobile-1.4.0-beta.1.min.css" rel="stylesheet" type="text/css"/>
<script src="content/js/jquery.js" type="text/javascript">
</script>
<script src="content/js/jquery.mobile-1.4.0-beta.1.js" type="text/javascript">
</script>
<script src="content/js/cordova.js" type="text/javascript">
</script>
<script src="content/scripts/xui-2.2.0.min.js">
</script>
<script src="content/scripts/emile.js">
</script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false); function onSuccess(acceleration) { var getCurrentAcceleration= 'Acceleration X: ' + acceleration.x + '<br />' +
'Acceleration Y: ' + acceleration.y + '<br />' +
'Acceleration Z: ' + acceleration.z + '<br />' +
'Timestamp: ' + acceleration.timestamp + '<br />'; x$('#getCurrentAcceleration').html('inner', getCurrentAcceleration);
};
function onError() {
alert('onError!');
}; var watchID = null; var options = { frequency: 1000 };
function onSuccess1(acceleration) { var watchAcceleration= 'Acceleration X: ' + acceleration.x + '<br />' +
'Acceleration Y: ' + acceleration.y + '<br />' +
'Acceleration Z: ' + acceleration.z + '<br />' +
'Timestamp: ' + acceleration.timestamp + '<br />'; x$('#watchAcceleration').html('inner', watchAcceleration);
fx(acceleration.x,acceleration.z*20 );
//fx(acceleration.y,acceleration.z*10 );
//fx(acceleration.timestamp);
}
function onError1() {
alert('onError!');
} function stopWatch() {
if (watchID) {
navigator.accelerometer.clearWatch(watchID);
watchID = null;
}
}
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
watchID = navigator.accelerometer.watchAcceleration(onSuccess1, onError1, options);
}
</script>
<script>
function initialise()
{
styleshow();
dom();
//fx(1); }
//dom处理
function dom()
{
}
function SubString(s){
var str; // 声明变量。
str = s.substr(1,236); // 截取取字符串。
return(str); // 返回字符串。
}
//style 样式处理
function styleshow()
{ }
//style 动画、形变、渐变
function fx(valueid,valuez)
{
valueid=valueid*1000;
emile('box1', 'background:#008FFF;left:'+valuez+'px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
});
emile('box2', 'background:#C8E919;left:'+valuez+'px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
});
emile('box3', 'background:#AC193D;left:'+valuez+'px;top:400px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
}); emile('box4', 'background:#008FFF;right:'+valuez+'px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
});
emile('box5', 'background:#C8E919;right:'+valuez+'px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
});
emile('box6', 'background:#AC193D;right:'+valuez+'px;top:200px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
}); emile('boxb', 'left:500px;padding:10px;border:50px solid #5133AB', {
duration: 500,
after: function(){
emile('boxa', 'background:#D24726;left:100px;padding-bottom:100px;opacity:1', {
duration: valueid, easing: bounce
});
}
});
}
function bounce(pos) {
if (pos < (1/2.75)) {
return (7.5625*pos*pos);
} else if (pos < (2/2.75)) {
return (7.5625*(pos-=(1.5/2.75))*pos + .75);
} else if (pos < (2.5/2.75)) {
return (7.5625*(pos-=(2.25/2.75))*pos + .9375);
} else {
return (7.5625*(pos-=(2.625/2.75))*pos + .984375);
}
}
</script>
</head>
<body onload="initialise();">
<button onclick="stopWatch();">
停止监视动画
</button>
<div id="getCurrentAcceleration">
XYZ显示区
</div>
<div id="watchAcceleration">
XYZ显示区
</div>
<div id="box1" style="position:absolute;left:0px;background:#f00;opacity:0">
DIV动画区域块
</div>
<div
id="box2"
style="border:0px solid #00ff00;position:absolute;left:0px;top:200px;background:#000000">
DIV动画区域块
</div>
<div
id="box3"
style="border:0px solid #AC193D;position:absolute;left:0px;top:300px;background:#AC193D">
DIV动画区域块
</div> <div id="box4" style="position:absolute;right:0px;background:#f00;opacity:0">
DIV动画区域块
</div>
<div
id="box5"
style="border:0px solid #00ff00;position:absolute;right:0px;top:200px;background:#000000">
DIV动画区域块
</div>
<div
id="box6"
style="border:0px solid #AC193D;position:absolute;right:0px;top:150px;background:#AC193D">
DIV动画区域块
</div> <div id="boxa" style="position:absolute;left:0px;background:#D24726;opacity:0">
DIV
</div>
<div
id="boxb"
style="border:0px solid #00ff00;position:absolute;left:0px;top:350px;background:#362168"> DIV动画区域块
</div> </body>
</html>

代码示例包

点击下载

声明:本博客高度重视知识产权保护,发现本博客发布的信息包含有侵犯其著作权的链接内容时,请联系我,我将第一时间做相应处理,联系邮箱ffgign@qq.com

作者:Mark Fan (小念头)    来源:http://cube.cnblogs.com
说明:未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有疑问,可以通过 ffgign@qq.com 联系作者,本文章采用 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可

跨平台移动开发_PhoneGap 使用Accelerometer 加速器的更多相关文章

  1. 跨平台移动开发_PhoneGap 使用Geolocation基于所在地理位置坐标调用百度地图API

    使用Geolocation基于所在地理位置坐标调用百度地图API 效果图 示例代码 <!DOCTYPE html> <html> <head> <title& ...

  2. 跨平台移动开发_PhoneGap 警告,通知,鸣叫,振动4 种通知类型

    创建鸣叫  使用 confirmation.beep 创建鸣叫 function playBeep() {     navigator.notification.beep(1); } 创建振动  使用 ...

  3. 跨平台移动开发_PhoneGap 再次点击返回键切换到桌面效果

    PhoneGap 再次点击返回键切换到桌面效果 相关代码 <!DOCTYPE html> <html> <head> <title> PhoneGap ...

  4. 跨平台移动开发_PhoneGap API Camera 使用摄像头采集照片.

    camera对象提供对设备默认摄像头应用程序的访问. 程序运行效果 相关代码 <!DOCTYPE html> <html> <head> <title> ...

  5. 跨平台移动开发_PhoneGap API 事件类型

    PhoneGap API Events backbuttondevicereadymenubuttonpauseresumeonlineofflinebatterycriticalbatterylow ...

  6. [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

    [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...

  7. 全球首个全流程跨平台界面开发套件,PowerUI分析

    一.       首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...

  8. 【转贴】-- 基于QT的跨平台应用开发

    原帖地址:http://www.cnblogs.com/R0b1n/p/4106613.html 1 Qt简介 Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架.它提供给应用程 ...

  9. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

随机推荐

  1. 【转】windows下python开发环境搭建

    1 -- 安装python的前期准备 Python开发有众多工具,又以Eclipse+Pydev最为常见.Eclipse平台对开发同学来讲,肯定是如雷贯耳,自不用废话.而PyDev是Eclipse平台 ...

  2. 支付宝热补丁技术— AndFix原理[阿里Hao]

    本文由嵌入式企鹅圈原创团队成员.阿里资深project师Hao分享. 上次我们介绍了用dexposed方案实施热补丁的原理.它本质上就是hook要改动的函数.这样一来在正式版本号公布时就不能直接拿热补 ...

  3. Python Numpy ValueError: data type must provide an itemsize

    天朝网络锁国,百度找了半个小时找不出来原因,只能谷歌 谷歌第一条就是,顿时感觉幸福感来的太突然 原因是输入的矩阵均是字符串(从文件里读的) 那么就需要批量转数组,一行一行的转. 下面是我的代码: ro ...

  4. php简单工厂模式

    工厂类中有一个创建对象的方法,根据传入参数的不同来生成不同的对象 class Operation extends Model{ private $numberA; private $numberB; ...

  5. VC编译那些事儿

    转载自:http://blog.csdn.net/wowolook/article/details/8077153     最近又被ms的编译选译纠结了一下,运行程序是老是弹出0x14b1 or 71 ...

  6. Introduction to Mathematical Thinking - Week 9 评论答案2

    根据 rubic 打分. 1. 我认为,如果说明 m, n 是自然数,所以最小值是 1 会更清楚.所以 Clarity 我给了 3 分.其他都是 4 分,所以一共是 23 分. 2.  我给出的分数 ...

  7. hctf2016 fheap学习(FreeBuf发表的官方解法)

    目录 如何在二次释放前修改函数指针 修改函数指针流程 如何获得进程的加载基址 puts函数的调用 如何获取system函数地址 说一下用DlyELF函数 如何调用system函数 ROP需要的栈布局 ...

  8. python函数回顾:abs()

    函数:abs() 官方英文文档解释 abs(x) Return the absolute value of a number. The argument may be a plain or long ...

  9. Django 路由系统(URL)

    介绍 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. 你就是以这种方式告 ...

  10. java 抽象类实现接口

    1.抽象类肯定可以实现接口:  2.这不是有没有意义的事情,是一种思想,当你自己写的类想用接口中个别方法的时候(注意不是所有的方法),那么你就可以用一个抽象类先实现这个接口(方法体中为空),然后再用你 ...