PhoneGap中文网

标题: phonegap 仿照维信实现摇一摇源码 [打印本页]

作者: admin    时间: 2013-10-20 22:28
标题: phonegap 仿照维信实现摇一摇源码
很多人都认为微信的摇一摇功能很好但是不知道怎么做的 今天为大家分享一个phonegap摇一摇的功能


转载请注明  www.phonegap100.com


说明:此代码是经过验证的哦
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>phonegap_device_network_notification01</title>
  6. <link href="../jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
  7. <script src="../jquery.js" type="text/javascript"></script>
  8. <script src="../jquery.mobile-1.3.2.js" type="text/javascript"></script>
  9. <script src="../cordova.js" type="text/javascript"></script>
  10. <script type="text/javascript" charset="utf-8">
  11.     var watchID = null;
  12.     document.addEventListener("deviceready", onDeviceReady, false); //deviceready
  13.         var oldValue = {
  14.                 x: null,
  15.                 y: null,
  16.                 z: null
  17.         }
  18.     function onDeviceReady() {
  19.         startWatch();
  20.     }
  21.     function startWatch() {
  22.         var options = { frequency: 300 };

  23.         watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
  24.     }
  25.     function stopWatch() {
  26.         if (watchID) {
  27.             navigator.accelerometer.clearWatch(watchID);
  28.             watchID = null;
  29.         }
  30.     }
  31.     // 获取加速度信息成功后的回调函数
  32.     function onSuccess(newValue) {
  33.             var changes = {},
  34.                 bound = 2;
  35.                 if (oldValue.x !== null) {
  36.                         changes.x = Math.abs(oldValue.x-newValue.x);
  37.                         changes.y = Math.abs(oldValue.y-newValue.y);
  38.                         changes.z = Math.abs(oldValue.z-newValue.z);
  39.                 }
  40.                 if ((changes.x > bound && changes.y > bound) || (changes.x > bound && changes.z >bound)|| (changes.y > bound && changes.z >bound)) {
  41.                         alert('检测到手机晃动');
  42.                 }
  43.                 oldValue = {
  44.                 x: newValue.x,
  45.                 y: newValue.y,
  46.                 z: newValue.z
  47.                 }
  48.         var element = document.getElementById('accelerometer');
  49.         element.innerHTML = 'Acceleration X: ' + newValue.x + '<br />' +
  50.                             'Acceleration Y: ' + newValue.y + '<br />' +
  51.                             'Acceleration Z: ' + newValue.z + '<br />' +
  52.                             'Timestamp: '      + newValue.timestamp + '<br />';
  53.     }

  54.     // 获取加速度信息失败后的回调函数
  55.     function onError() {
  56.         alert('onError!');
  57.     }

  58.     </script>
  59. </head>
  60. <body>
  61. <div data-role="page">
  62.                 <div data-role="header">
  63.                         <h1>PhoneGap100实战</h1>
  64.                 </div>
  65.                 <div data-role="content">
  66.                  <div id="accelerometer">监测加速度信息中...</div>
  67.                     <button onclick="stopWatch();">停止监测加速度信息</button>               
  68.                 </div>               
  69.                 <div data-role="footer">
  70.                         <h4> </h4>
  71.                 </div>
  72. </div>

  73. </body>
  74. </html>
复制代码

作者: boss2014    时间: 2013-10-21 18:30
本帖最后由 boss2014 于 2013-10-21 18:53 编辑

测试 成功 了
作者: admin    时间: 2013-10-21 19:44
boss2014 发表于 2013-10-21 18:30
测试 成功 了

恭喜 恭喜
作者: 许正兵    时间: 2015-4-29 12:18
未来属于html5 phonegap 微信 wap全部搞定
作者: CoderDream    时间: 2015-4-29 15:33
人不错,学习学习 感觉phonegap+html越来越火了。
作者: youyou    时间: 2015-4-29 16:31
html5 是趋势
作者: 许正兵    时间: 2015-4-30 02:50
好东西啊,谢谢分享 感谢phonegap中文网
作者: 天明    时间: 2015-4-30 03:06
很不错,不错,学习学习。跨平台得顶起




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2