精通JavaScript--10移动设备JavaScript开发

代码清单10-3  访问来自触摸传感器的数据

 1     //在页面上创建一个<p>元素,用以显示当前屏幕上的接触总数量
 2             var touchCountElem = document.createElement("p");
 3
 4             //定义一个事件处理函数。当一个与接触相关的事件发生时,执行此函数
 5             function handleTouchEvent(event) {
 6
 7                 //获得当前屏幕上所有接触的数组
 8                 var allTouches = event.touches,
 9                     allTouchesLength = allTouches.length;
10
11                 //当用户把手指接触或按在屏幕上时,阻止浏览器的默认动作发生
12                 if(event.type === "touchstart") {
13                     event.preventDefault();
14                 }
15
16                 //在页面中显示当前接触的总数量
17                 touchCountElem.innerHTML = "There are currently" + allTouchesLength + "touches on the screen."
18             }
19
20             //把<p>元素添加入当前页面
21             document.body.appendChild(touchCountElem);
22
23             //当一只手指与屏幕发生接触动作(touchstart)或离开动作(touchend)时,
24             //指派相应的事件处理函数来进行处理
25             window.addEventListener("touchstart", handleTouchEvent, false);
26             window.addEventListener("touchend", handleTouchEvent, false);

Apple IOS设备支持一些更先进的与手势相关的JavaScript事件。当用户的两只或两只手以上的手指在屏幕上发生捏或旋转动作时,这些事件就会发生,并能返回手指在屏幕上的移动距离。然而,这些都是在特定设备上才能生效的。如果你需要复制这些事件到其他设备上,你会发现Hammer.js(https://hammerjs.github.io/)这个JavaScript库十分有用。它能很容易地适用多种设备,在你的网站中实适用手势功能。

扩展阅读:

https://www.html5rocks.com/en/mobile/touch/

10.2.3  访问姿态传感器和方向传感器

通过姿态传感器,可以知道设备的那一面朝上摆放。姿态传感器还可以检测出设备相对于3条旋转轴是如何摆放的(如图10-3所示),就如设备有一个内部陀螺仪一般。某些设备,如苹果的iPhone和iPad,还配置了磁力传感器,它有助于确立设备摆放的精确方向。围绕着x轴,y轴和z轴的旋转可以分别表示滚动角度、倾斜角度和偏航角度,或用角度表示beta,gamma,和alpha旋转。

图10-3  移动设备的x轴,y轴和z轴旋转

通过获悉移动设备的摆放姿态,我们可以调整页面中的一些界面元素,以适应新的布局。如根据摆放姿态相应地把导航菜单安排在主内容显示区域的上方或侧方。W3C Screen Orientation API(JavaScript形式)可以让我们获悉设备当前的摆放姿态,无论是肖像模式的竖屏还是风景模式的横屏。我们还能获悉设备是否处于颠倒摆放的姿态。当设备的摆放姿态发生变化时,它会发出orientationchange事件。我们可以利用该事件编写相应的代码,于设备的摆放姿态发生变化的那一刻执行。代码清单10-4的例子演示了如何使用Screen Orientation API来把一个CSS类添加至页面的<body>标签上,以指出当前设备究竟是竖屏还是横屏,并可以相应地进行与之相适应的应用样式的改变。

代码清单10-4  基于移动设备的摆放姿态改变HTML页面中的一个class属性

时间: 2024-08-05 07:04:52

精通JavaScript--10移动设备JavaScript开发的相关文章

2015年10个最佳Web开发JavaScript库

2015年10个最佳Web开发JavaScript库 现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中.我们可以参考网上的指导来获取构建代码项目的各种必要信息.如果你是搞Web开发的,那么大多更喜欢支持前端开发的JavaScript.此脚本语言使用相对比较容易,并能为网站和Web应用创造了有趣的用户界面.下面是10个最佳的可用于Web项目开发的JavaScript库. 1. IO.js: IO.js是一个以Chrome V8  runtime为引擎的JavaScr

为新项目添彩的 10+ 超有用 JavaScript 库

快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http://www.tudou.com/plcover/VHNh6ZopQ4E/ 百度网盘同步:http://pan.baidu.com/s/1jG1Q58M 分享  [中文纪录片]互联网时代   http://pan.baidu.com/s/1qWkJfcS 官方QQ群:(申请加入,说是我推荐的) App实践出真知 4

[转]ArcGIS JavaScript API本地部署离线开发环境

1 获取ArcGIS JavaScript API API的下载地址http://support.esrichina.com.cn/2011/0223/960.html,在下载页面会看到api和sdk的下载链接,api是我们开发需要的库,sdk是说明文档和例子,点击下载api的最新版3.2. 2 本地部署API 打开API包中的arcgis_js_api/library/install.htm安装说明,本文依据此英文说明而来. 解压后在IIS中建立应用程序,如下图.配置好API应用程序后,其路径

JavaScript —— 下一代物联网全栈开发

作者简介:李知周,中国科学院微系统与信息技术研究所博士,物联网早期创业者,发起了开源物联网项目 Openfpgaduino,目前在国际知名投资银行从事基于大数据与机器学习的网络安全开发. 本文为<程序员>杂志原创文章,未经授权,请勿转载 关注公众号"CSDN 物联网开发"微信公众号,了解更多物联网资讯与干货 Jeff Atwood 曾提出"任何能够用 JavaScript 实现的应用,最终都必将用 JavaScript 实现"他对 JavaScript

Javascript:10天设计一门语言

演进和使用的JavaScript是早在1995年开发的一种语言,真的是刚刚起步. 网景公司在1995年四月聘请Brendan Eich ,他被告知,他有10天时间创造并制作了一种将在Netscape的浏览器中运行,以原型为工作方式的编程语言.那时候,Web创新的步伐是激烈的,由于微软突然使互联网的焦点集中在它即将发布的Windows 95操作系统作为对新兴Netscape的浏览器和服务器产品的系统发布的回应. 当时网景得到如此多的来自微软的关注,因为网景考虑将Web浏览器和服务器作为一个分布式操

分享10个原生JavaScript技巧

首先在这里要非常感谢无私分享作品的网友们,这些代码片段主要由网友们平时分享的作品代码里面和经常去逛网站然后查看源文件收集到的.把平时网站上常用的一些实用功能代码片段通通收集起来,方便网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率. 1.原生JavaScript实现字符串长度截取 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 function cutstr(str, len) {     var temp;     var

深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)

本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章).每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深入的了解. 适合的读者:有经验的开发员,专业前端人员. 原作者: Dmitry A. Soshnikov 发布时间: 2010-09-02 原文:http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ 参考1:http://ued.ctr

10个原生JavaScript技巧

这些代码片段主要由网友们平时分享的作品代码里面和经常去逛网站然后查看源文件收集到的.把平时网站上常用的一些实用功能代码片段通通收集起来,方便网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作效率. 1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i &

javascript 判断系统设备

1 <script> 2 3 function detectOS() { 4 var sUserAgent = navigator.userAgent; 5 6 var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows"); 7 var isMac = (navigator.platform == "Mac68K") || (navig

JavaScript &amp; jQuery交互式Web前端开发

这篇是计算机中网络编程javascript类的优质预售推荐<JavaScript & jQuery交互式Web前端开发>. 内容简介 欢迎选择一种更高效的学习JavaScript和jQuery的方式. 你是一名JavaScript新手?或是您曾经向自己的Web页面上添加过一些脚本,但想以一种更好的方式来实现它们?本书非常适合您.本书不仅向您展示如何阅读和编写JavaScript代码,同时还会以一种简单且视觉化的方式,教您有关计算机编程的基础知识.阅读本书之前,您只需要对HTML和CSS