首頁 > web前端 > H5教程 > 主體

小強的HTML5行動開發之路(2)-HTML5的新特性

黄舟
發布: 2017-01-22 10:24:57
原創
1158 人瀏覽過

一、畫布(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行動開發之路(2)-HTML5的新特性

二、地理位置

二、地理位置

二、地理位置小強的HTML5行動開發之路(2)-HTML5的新特性二、地理位置可返回網頁訪客的地理位置。執行下面程式碼進行測試:

<!DOCTYPE html>  
<html>  
<body>  
<p id="demo">点击这个按钮,获得您的位置:</p>  
<button onclick="getLocation()">试一下</button>  
<p id="mapholder"></p>  
<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(&#39;mapholder&#39;)  
  mapholder.style.height=&#39;250px&#39;;  
  mapholder.style.width=&#39;500px&#39;;  
  
  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行動開發之路(2)-HTML5的新特性五、媒體

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行動開發之路(2)-HTML5的新特性六、語音搜素功能:

大家現在可以在好多網站上看到語音搜素功能,HTML5提供了強大的語音搜素功能屬性,只需要添加一個屬性就可以實現。

<!DOCTYPE html>  
<head>  
    <meta charset="utf-8"/>  
</head>  
<body>  
    <h1>语音搜素功能</h1>  
    <input type="text" name="yuyin" id="yuyin" x-webkit-speech/>  
</body>
登入後複製
🎜🎜🎜🎜以上就是 小強的HTML5行動開發之路(2)-HTML5的新特性的內容,更多相關內容請關注PHP中文網(www.php.cn)! 🎜
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!