HTML5 Canvas標籤範例

隨著時代的進步,HTML的版本一直在進化,目前比較新的版本應該就是HTML5了,這次的HTML5針對許多標籤進行調整,當然也新增了一些標籤,主要的目的是希望可以將一些本來需要利用Flash才可以完成的互動頁面取而用HTML5來進行設計,這樣比較能減輕網頁的負載,但不管怎麼進步,其最重要的目的當然還是要網友能夠看到才行!

目前各家的瀏覽器對於HTML5的支援都不一,如果想要測試看看自己所使用的瀏覽器對HTML5的支援程度,可以到這個網址測試,馬老師針對目前的三款瀏覽器(IE9、Firefox6、Chrome13)來做了測試,IE9於HTML5中測試得到了以下的分數:

IE9於HTML5中測試分數

Firefox6於HTML5中測試得到了以下的分數:

Firefox6於HTML5中測試分數

Chrome13於HTML5中測試得到了以下的分數:

Chrome13於HTML5中測試分數

所以用以上的結果來看,目前是Google Chrome對於HTML5的支援最好,不過也只是拿了450分中的340而已,所以是否要全面改用HTML5來開發,還是應該要好好的斟酌一下,但是先了解HTML5能做到的功能,一定是沒問題的!以下就是馬老師針對HTML新增的畫布標籤製作的範例,不過因為瀏覽器支援的關係,必須使用Chrome觀賞才會是比較完整的功能喔!

範例觀賞頁面

範例影片:

PS:本範例的網頁所使用的圖檔為寬:800、高:600的圖檔,並將圖檔至於img的資料夾中

網頁程式碼:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Slide Show</title>
<script>

var context;
var x = 0;
var ind;
var offset;
var photos = new Array();

for(var i=1;i<=13;i++){
	var im = new Image();
	im.src = "img/p" + i + ".jpg";
	photos.push(im);
}

function slideshow(){
	context = document.getElementById('canvas').getContext('2d');
	setInterval(loop,10);
}

function loop(){
	x += (slider.value - x) * 0.1;
	ind = Math.floor(x/800);
	offset = x % 800;
	context.drawImage(photos[ind], offset, 0, 800-offset, 600, 0, 0, 800-offset, 600);
	context.drawImage(photos[ind+1], 0, 0, 800, 600, 800-offset, 0, 800, 600);
}

</script>
</head>
<body onLoad="slideshow()">

<canvas width="800" height="600" id="canvas"></canvas><br />
<input type="range" id="slider" style="width:800px;" min="0" max="9600" step="1" value="0">

</body>
</html>

You may also like...

3,831 Responses

  1. mandf968表示:

    ucie

  2. WilliamRhype表示:

    https://ciprofloxacin.tech/# ciprofloxacin over the counter

  3. Ronaldpsymn表示:

    https://cytotec.club/# Abortion pills online

  4. Davidtes表示:

    buying cheap propecia price get propecia buy propecia without dr prescription

  5. RandallTaulp表示:

    cipro for sale: buy cipro online canada – antibiotics cipro

  6. Davidtes表示:

    ciprofloxacin over the counter ciprofloxacin cipro online no prescription in the usa

  7. WilliamRhype表示:

    https://finasteride.store/# generic propecia without a prescription

  8. RandallTaulp表示:

    antibiotics cipro: buy generic ciprofloxacin – buy cipro online

  9. Davidtes表示:

    cytotec abortion pill cytotec abortion pill purchase cytotec

  10. WilliamRhype表示:

    https://lisinopril.network/# buy lisinopril 40 mg tablet

  11. Davidtes表示:

    lisinopril 50 mg price buy lisinopril online usa lisinopril 2

  12. RandallTaulp表示:

    cipro 500mg best prices: ciprofloxacin mail online – buy generic ciprofloxacin

  13. WilliamRhype表示:

    https://nolvadex.life/# where can i buy nolvadex

  14. Davidtes表示:

    order generic propecia without prescription cost generic propecia without a prescription cost of propecia price

  15. RandallTaulp表示:

    10mg generic 10mg lisinopril: lisinopril pill 5 mg – lisinopril online

  16. Davidtes表示:

    antibiotics cipro ciprofloxacin 500mg buy online ciprofloxacin generic price

  17. WilliamRhype表示:

    http://cytotec.club/# buy cytotec online

  18. Ronaldpsymn表示:

    http://nolvadex.life/# tamoxifen vs clomid

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。