最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IE9下html5初試小刀

  發(fā)布時(shí)間:2010-09-21 21:50:34   作者:佚名   我要評(píng)論
微軟不大張旗鼓支持的技術(shù)我就不去嘗試,等微軟一說(shuō)要支持了我就要嘗試了。可能是跟著微軟的路線走習(xí)慣了吧,不過(guò)想想挺傻的。
mvc是個(gè)好東西,為什么一入行的時(shí)候不去學(xué)一下,非要等到asp.net mvc出來(lái)了才去學(xué);orm是個(gè)好東西,干嘛非要等到EF出來(lái)了才去學(xué);html5是個(gè)好東西,干嘛非要等到IE9出來(lái)了才去學(xué)?......

——我想自己應(yīng)該改掉這個(gè)壞毛病。

廢話不多說(shuō)了。

需求:模仿dreamweaver里為圖片畫(huà)上錨點(diǎn)的功能,生成html代碼里的coords值的功能。

技術(shù)分析:直覺(jué)告訴我,html5 canvas可以勝任。

由于從來(lái)沒(méi)實(shí)質(zhì)性接觸過(guò)canvas,只看過(guò)別人用canvas開(kāi)發(fā)的demo,只好bing一下html5 canvas的教程咯。發(fā)現(xiàn)了下面的鏈接:http://kb.operachina.com/node/190

看完文檔寫(xiě)代碼:

代碼分析:

1.1 html:要用一個(gè)圖片作底,canvas放在它上面以供畫(huà)圖

1.2 css:你起碼要位置放對(duì)、該透明的地方透明

1.3 javascript:鼠標(biāo)事件要響應(yīng)仨:mousedown,mousemove,mouseup


復(fù)制代碼
代碼如下:

<div id="container">
<img id="bg" width="390" height="560" src="http://www.sh1800.net/NavPic/20100917.jpg" />
<canvas id="drewpanel" width="390" height="560">
<p>some info to tell the people whose broswer doesn't support html5</p>
</canvas>
</div>

有經(jīng)驗(yàn)的同學(xué)可能一看這html5代碼就知道這注定是個(gè)悲劇,當(dāng)有img元素在canvas下面時(shí),不管怎樣canvas就是不透明,忘記了canvas上可不可以畫(huà)上東西了,應(yīng)該也是不行的??磥?lái)這canvas元素有“潔癖”,不愿和其他低級(jí)元素同流合污。就算我要退而求其次,作為cantainer的背景元素出現(xiàn)都不行。我的感覺(jué)是這個(gè)canvas可能不會(huì)對(duì)其他元素透明的。所以上面的代碼其實(shí)是錯(cuò)誤的代碼...

那怎么樣才能實(shí)現(xiàn)類(lèi)似photoshop里圖層的效果呢?那就是多弄幾個(gè)canvas元素,把上面的img換成canvas,然后把img繪制到這個(gè)canvas上,這樣canvas對(duì)canvas就是透明的了。哎...代碼如下:

復(fù)制代碼
代碼如下:

<div id="container">
<canvas id="bg" width="390" height="560"></canvas>
<canvas id="drewpanel" width="390" height="560">
<p>some info to tell the people whose broswer doesn't support html5</p>
</canvas>
</div>

好了html算是搞定了,接下去就是往canvas上繪圖,借助于javascript,這個(gè)任務(wù)非常簡(jiǎn)單。


復(fù)制代碼
代碼如下:

window.addEventListener('load', function () {
// Get the canvas element.
var elem = document.getElementById('bg');
if (!elem || !elem.getContext) {
return;
}
// Get the canvas 2d context.
var context = elem.getContext('2d');
if (!context || !context.drawImage) {
return;
}
// Create a new image.
var img = new Image();
// Once it's loaded draw the image on the canvas.
img.addEventListener('load', function () {
// Original resolution: x, y.
context.drawImage(this, 0, 0);
// Now resize the image: x, y, w, h.
context.drawImage(this, 160, 0, 120, 70);
// Crop and resize the image: sx, sy, sw, sh, dx, dy, dw, dh.
context.drawImage(this, 8, 20, 140, 50, 0, 150, 350, 70);
}, false);
img.src = 'http://www.sh1800.net/NavPic/20100917.jpg';
}, false);
//直接在文檔里拿下來(lái)的代碼 請(qǐng)注意為了opera和ie9 onload事件是必須要的,不然圖片會(huì)是一片空白,當(dāng)然Chrome下不會(huì)這樣

未完待續(xù)....
原文地址 http://www.cnblogs.com/ice6/archive/2010/09/18/1830020.html

相關(guān)文章

  • HTML5實(shí)現(xiàn)的移動(dòng)端購(gòu)物車(chē)自動(dòng)結(jié)算功能示例代碼

    本文介紹HTML5實(shí)現(xiàn)移動(dòng)端購(gòu)物車(chē)自動(dòng)結(jié)算,通過(guò)WebStorage、事件監(jiān)聽(tīng)、DOM操作等技術(shù),確保實(shí)時(shí)更新與數(shù)據(jù)同步,優(yōu)化性能及無(wú)障礙性,提升用戶體驗(yàn),感興趣的朋友一起看看吧
    2025-06-18
  • HTML5 中的<button>標(biāo)簽用法和特征

    在HTML5中,<button>標(biāo)簽用于定義一個(gè)可點(diǎn)擊的按鈕,它是創(chuàng)建交互式網(wǎng)頁(yè)的重要元素之一,本文將深入解析HTML5中的<button>標(biāo)簽,詳細(xì)介紹其屬性、樣式以及實(shí)際
    2025-06-18
  • 基于 HTML5 Canvas 實(shí)現(xiàn)圖片旋轉(zhuǎn)與下載功能(完整代碼展示)

    本文將深入剖析一段基于 HTML5 Canvas 的代碼,該代碼實(shí)現(xiàn)了圖片的旋轉(zhuǎn)(90 度和 180 度)以及旋轉(zhuǎn)后圖片的下載功能,通過(guò)對(duì)代碼的解讀,我們可以學(xué)習(xí)到如何利用 Canvas API
    2025-06-18
  • HTML5 getUserMedia API網(wǎng)頁(yè)錄音實(shí)現(xiàn)指南示例小結(jié)

    本教程將指導(dǎo)你如何利用這一API,結(jié)合Web Audio API,實(shí)現(xiàn)網(wǎng)頁(yè)錄音功能,從獲取音頻流到處理和保存錄音,整個(gè)過(guò)程將逐步詳解,此外,還討論了getUserMedia API的使用限制和最
    2025-06-16
  • HTML5 搜索框Search Box詳解

    HTML5的搜索框是一個(gè)強(qiáng)大的工具,能夠有效提升用戶體驗(yàn),通過(guò)結(jié)合自動(dòng)補(bǔ)全功能和適當(dāng)?shù)臉邮?,可以?chuàng)建出既美觀又實(shí)用的搜索界面,這篇文章給大家介紹HTML5 搜索框Search Box
    2025-06-13
  • 全面解析HTML5中Checkbox標(biāo)簽

    Checkbox是HTML5中非常重要的表單元素之一,通過(guò)合理使用其屬性和樣式自定義方法,可以為用戶提供豐富多樣的交互體驗(yàn),這篇文章給大家介紹HTML5中Checkbox標(biāo)簽的深入全面解
    2025-06-13
  • HTML5無(wú)插件拖拽圖片上傳功能實(shí)現(xiàn)過(guò)程

    本實(shí)例展示了一種基于HTML5技術(shù)的圖片上傳功能,無(wú)需外部插件即可通過(guò)拖放圖片實(shí)現(xiàn)上傳,涉及到HTML5的拖放API和File API,以及使用CSS來(lái)增強(qiáng)用戶界面的交互性和視覺(jué)反饋,
    2025-05-16
  • HTML5 定位大全之相對(duì)定位、絕對(duì)定位和固定定位

    在HTML5和CSS中,定位(positioning)是控制元素在頁(yè)面上位置的重要機(jī)制,主要有四種定位方式:靜態(tài)定位(static)、相對(duì)定位(relative)、絕對(duì)定位(absolute)和固定定位(fixed),
    2025-05-13
  • HTML5中的Microdata與歷史記錄管理詳解

    Microdata作為HTML5新增的一個(gè)特性,它允許開(kāi)發(fā)者在HTML文檔中添加更多的語(yǔ)義信息,以便于搜索引擎和瀏覽器更好地理解頁(yè)面內(nèi)容,本文將探討HTML5中Microdata的使用方法以及
    2025-04-21
  • HTML5表格語(yǔ)法格式詳解

    在HTML語(yǔ)法中,表格主要通過(guò)< table >、< tr >和< td >3個(gè)標(biāo)簽構(gòu)成,本文通過(guò)實(shí)例代碼講解HTML5表格語(yǔ)法格式,感興趣的朋友一起看看吧
    2025-04-21

最新評(píng)論

黄石市| 司法| 星子县| 房产| 河北省| 饶阳县| 阿勒泰市| 定西市| 富顺县| 朝阳区| 樟树市| 娄底市| 化州市| 伊通| 定西市| 临朐县| 瑞安市| 阿拉善左旗| 石阡县| 江阴市| 普定县| 潞城市| 深泽县| 福州市| 榆社县| 滦南县| 文成县| 新邵县| 乃东县| 芜湖市| 策勒县| 江山市| 洱源县| 清水河县| 思茅市| 滕州市| 武威市| 光泽县| 积石山| 乳山市| 连山|