一、画布(Canvas)
画布是网页中的一块区域,可所以用JavaScript在上面绘图。下面我们来创建一个画布并在上面绘制一个坦克(后面将用HTML5做一个坦克大战游戏),代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<h1>html5-坦克大战</h1>
<!--坦克大战的战场-->
<canvas id="tankMap" width="400px" height="300px" style="background-color:black"></canvas>
<script type="text/javascript">
//得到画布
var canvas1 = document.getElementById("tankMap");
//定义一个位置变量
var heroX = 80;
var heroY = 80;
//得到绘图上下文
var cxt = canvas1.getContext("2d");
//设置颜色
cxt.fillStyle="#BA9658";
//左边的矩形
cxt.fillRect(heroX,heroY,5,30);
//右边的矩形
cxt.fillRect(heroX+17,heroY,5,30);
//画中间的矩形
cxt.fillRect(heroX+6,heroY+5,10,20);
//画出坦克的盖子
cxt.fillStyle="#FEF26E";
cxt.arc(heroX+11,heroY+15,5,0,360,true);
cxt.fill();
//画出炮筒
cxt.strokeStyle="#FEF26E";
cxt.lineWidth=1.5;
cxt.beginPath();
cxt.moveTo(heroX+11,heroY+15);
cxt.lineTo(heroX+11,heroY);
cxt.closePath();
cxt.stroke();
</script>
</body>
</html>
运行效果:
二、地理位置
HTML5的地理位置特性可以返回网页访问者的地理位置。运行下面代码进行测试:
<!DOCTYPE html>
<html>
<body>
<p id="demo">点击这个按钮,获得您的位置:</p>
<button onclick="getLocation()">试一下</button>
<div id="mapholder"></div>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var x=document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
lat=position.coords.latitude;
lon=position.coords.longitude;
latlon=new google.maps.LatLng(lat, lon)
mapholder=document.getElementById('mapholder')
mapholder.style.height='250px';
mapholder.style.width='500px';
var myOptions={
center:latlon,zoom:14,
mapTypeId:google.maps.MapTypeId.ROADMAP,
mapTypeControl:false,
navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}
};
var map=new google.maps.Map(document.getElementById("mapholder"),myOptions);
var marker=new google.maps.Marker({position:latlon,map:map,title:"You are here!"});
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML="User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML="The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML="An unknown error occurred."
break;
}
}
</script>
</body>
</html>
运行结果:
三、丰富强大的表单
HTML5提供了表单增强特性,这些功能是由复杂的JavaScript编写的,以便能在所有浏览器上工作.
四、本地存储
HTML5本地存储类似于cookies,但它支持存储的数据量更大,并且提供了一个本地数据库引擎,从而使保持和获取数据更加容易。这个特点可以很好的将数据分发给用户缓解与服务器的连接压力。另外可以使用JavaScript从本地Web页面中访问本地数据库,这意味着你可以将网页保存到你本地从公司回到家里不用连接互联网就能打开。
五、媒体
HTML5规范中最具亮点的部分也许就是HTML5浏览器内置的多媒体播放功能,不需要Flash、Microsoft Media Player等插件。
<!DOCTYPE HTML>
<html>
<body>
<video src="/i/movie.ogg" controls="controls">
your browser does not support the video tag
</video>
</body>
</html>
运行效果:
六、语音搜素功能:
大家现在可以在好多网站上看到语音搜素功能,HTML5提供了强大的语音搜素功能属性,只需要添加一个属性就可以实现。
<!DOCTYPE html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<h1>语音搜素功能</h1>
<input type="text" name="yuyin" id="yuyin" x-webkit-speech/>
</body>
分享到:
相关推荐
小强老师《零基础学习软件测试》系列视频之QTP使用指南——界面分析
尤其是有洁癖的人更是如此,总是喜欢时不时的杀进程杀服务,可是由于android开源的特殊性,你会发现被干掉的服务又一次的重新复活了,总之生命力极其强悍,业界称之为——打不死的小强。这里是它怎么做的,哈哈
关于小强的HTML5移动开发之路,他的博客文章可能详细讲解了如何利用HTML5的移动优化特性,比如响应式设计(使用media queries)、触摸事件和Geolocation API来获取用户位置信息等。他可能还会分享如何使用Web App ...
在“小强的HTML5移动开发之路”系列博客中的这个视频播放器示例,很可能是通过实际代码演示了如何创建和控制一个自定义的HTML5视频播放器。通过分析和实践这个示例,小强可以学习到如何根据自己的需求定制视频播放器...
小强老师《零基础学习软件测试》系列视频之QTP使用指南
小强老师《零基础学习软件测试》系列视频之QTP使用指南
HTML5技术的发展为移动游戏开发带来了新的机遇,使得无需安装即可在手机端玩的游戏变得越来越普遍。本文将深入探讨一款基于HTML5的手机端骰子游戏,这款游戏的核心特点是其简洁的用户界面和随机数生成的骰子点数模拟...
在软件开发过程中,软件质量是至关重要的因素,它直接影响到产品的稳定性和用户满意度。小强老师的软件测试基础课程第五部分专注于讲解软件质量基础知识,旨在帮助初学者理解和掌握确保高质量软件的关键概念。 首先...
"小强一号"实验机器人制作过程 机器人制作是一个复杂的过程,需要了解机器人的各个组件和控制系统。在本文中,我们将介绍如何制作一个简单的机器人,即“小强一号”。这篇文章将从零件采购到单片机控制和传感器的...
在IT行业中,"百业信息发布 小强多个模版替换"这一主题涉及到的是软件开发中的模板引擎技术和自动化信息发布系统。小强多个模版替换是指在软件应用中,使用多个不同的模板来适应各种信息发布的需要,这通常是为了...
HTML5+jQuery制作温馨浪漫爱心表白动画特效HTML5+jQuery制作温馨浪漫爱心表白动画特效HTML5+jQuery制作温馨浪漫爱心表白动画特效HTML5+jQuery制作温馨浪漫爱心表白动画特效HTML5+jQuery制作温馨浪漫爱心表白动画特效...
【小强开发板单片机程序】是一款专为初学者设计的编程资源,它包含了针对小强开发板的51系列单片机的基础程序。这个压缩包是学习单片机编程的理想起点,尤其是对于那些刚接触这个领域的学习者来说,能够提供宝贵的...
9. **版本更新**:版本号1.4.4可能暗示之前有其他版本,每个版本可能都修复了一些问题,增加了新特性,或者优化了用户体验。 10. **社区支持**:Mixly作为一个教育工具,通常会有活跃的社区,用户可以在其中交流...
这篇文档是一个针对一年级学生的数学教案,主题为"丰收了——摘石榴",旨在教授孩子们比较100以内数的大小。教学目标主要包括三个方面: 1. 巩固100以内数的读写规则,使学生能够熟练掌握。 2. 学会如何将实际生活...
小强开发板是一种基于ATMEGA8515/S52_DIP40微控制器的开发平台,广泛应用于教学与项目实践中。该开发板提供了丰富的外设接口,便于进行各种硬件扩展。本次解析的“小强开发板原理图版本”主要包含了该开发板的设计...
用户只需在设备上启用未知来源的应用安装,然后按照常规步骤进行安装,即可开始与"小强机器人"的互动之旅。 总的来说,"小强机器人"是一个集成了多种智能特性的聊天应用,它通过不断学习和记忆提升用户体验,同时...
2. **微信小程序开发**:作为“小强新浪微博”的载体,微信小程序的开发需要熟悉微信开发者工具和小程序的特有API。开发者需要理解小程序的生命周期管理,如onLoad、onShow等生命周期函数,以及如何利用WXML(WeiXin...
在实际应用中,"小强多模版"可能包含以下功能特性: 1. **关键词库管理**:用户可以创建并管理自己的关键词库,分类存储各种主题的关键词,便于随时调用。 2. **智能插入**:根据文本内容,自动推荐并插入最合适的...
5. **兼容性与集成**:考虑到实际工作环境的多样性,小强多个模版替换工具可能与其他常用软件或平台有良好的兼容性和集成,如Microsoft Office、Google Docs,或者企业内部的工作流系统,使得信息发布更为顺畅。...