欧美精品在线一区二区三区_亚洲女同精品视频_日韩一区免费_国产欧美久久久精品免费_国产这里只有精品_僵尸再翻生在线观看_久久99精品国产一区二区三区_亚洲免费一区二区_女教师淫辱の教室蜜臀av软件_中文字幕国产一区二区

Google HTML5 訓練營

2011-11-16    藍藍設計的小編

轉載藍藍設計(   m.ocunn.cn  )是一家專注而深入的設計機構 ,為期望卓越的國內外企業提供有效的   BS界面設計  cs界面設計  ipad界面設計  包裝設計  圖標定制  用戶體驗  、交互設計、   網站建設  、平面設計服務 Google HTML5 訓練營

先簡單介紹一下這個訓練營的活動流程:
   1:00 – 1:30 注冊
   1:30 – 2:30 HTML5 技術剖析
   技術講座1 —— Google 工程師
   技術講座2 —— 特邀嘉賓(李靖威、李繼成,就職于人人網)
   2:30 – 3:00 宣布競賽規則,開始組隊
   3:00 – 6:30 作品創作 / 提交
   6:30 – 7:00 作品展示
   7:00 – 7:30 評獎、頒獎

  講座部分,先是Google工程師寒蕊MM跟我們分享了些HTML5的新技術概況,其中大致包括:sessionStorage localStorage Web SQL DateBase Indexed DB ,寒蕊MM還專門寫了篇關于IndexedDB的文章《客戶端數據存儲》 ,文章用實例的方式講了Web Storage(localStorage)、Web SQL Database 和 Indexed Database的用法。

  其中Web SQL Database雖是HTML5的技術,但由于某些原因,W3C組織(Web Applications Working Group)已不再維護這項技術,也就是說雖然目前Chrome、FireFox新版本瀏覽器支持這項技術,但不一定未來的版本還會支持。以下為w3c官網的聲明:

Beware. This specification is no longer in active maintenance and the Web
Applications Working Group does not intend to maintain it further.

  Indexed DataBase最初是由Oracle提出的數據庫API,沒記錯的話起初叫做Simple DataBase,之后演變成Indexed DataBase,而且已被Chrome和FireFox(版本4)所支持。

  這次活動規模比較小,由于人數限制在了30人,所以組隊Coding階段,每隊5人,分成了6組~接下來就是短短3個小時左右的Coding了,我們人人網的四個人和另一位有Canvas經驗的邱亮同學一起開發一個純HTML5的可涂鴉日記本,其中有個插曲:一開始項目名字沒多想就直接叫做《我的日記本》了,到最后提交項目的時候,Google MM說要起一個簡潔且酷一些的名字,好吧,那我們就起一個簡潔酷一些的名字,最后就叫《我日》!哇咔咔~讓大家”賤笑”了~

html5-daily-book

  言歸正傳,《我日》項目之所以叫純HTML5,其實只是使用了些HTML5技術,在短短的3個小時時間,從功能到分工開發,時間很緊~所以只是做了個小小的Demo版,基本功能實現的差不多了,但愿以后還能有時間把它完善一下~其中使用了這些HTML5技術:

  1.Web SQL DataBase :存取日記數據
  2.HTML5 Drag&Drop 事件 :監聽網頁內圖片拖拽及本地圖片直接拖拽到日記中的事件
  3.FileReader :獲取本地圖片拖拽到日記本里的圖片數據
  4.Canvas :實現日記涂鴉功能(畫筆、調色、文字、圖片繪制到畫布等…)
  5.HTML5新標簽 :如:<input type=”range”… /> 、 <section> 、<article>等…
  6.CSS3

  今天我只詳細講講我的分工部分:HTML5 Drag & Drop 和 FireReader這兩個東西,以后有機會在和大家分享其他技術。

HTML5 Drag & Drop 事件

  過去我們想實現網頁中的拖拽效果,基本上都是使用DOM事件模型中的mousedown、mousemove、mouseup的事件監聽來模擬拖拽效果,為了實現實時的拖拽移動效果,還要不停地獲取鼠標的坐標,還要不停的修改元素的位置,代碼要堆很多,而且性能上也很不好(不停地修改元素位置會導致頁面reflow,除非絕對定位),現在有了html5原生的Drag & Drop 拖拽事件,真的是方便了許多,用”事半功倍”來形容絕不為過。

Drag & Drop 包括以下事件

  • dragstart :要被拖拽的元素開始拖拽時觸發,這個事件對象是被拖拽元素
  • dragenter :拖拽元素進入目標元素時觸發,這個事件對象是目標元素
  • dragover :拖拽某元素在目標元素上移動時觸發,這個事件對象是目標元素
  • dragleave :拖拽某元素離開目標元素時觸發,這個事件對象是目標元素
  • dragend :在drop之后觸發,就是拖拽完畢時觸發,這個事件對象是被拖拽元素
  • drop :將被拖拽元素放在目標元素內時觸發,這個事件對象是目標元素

完成一次成功頁面內元素拖拽的行為事件過程應該是: dragstart –> dragenter –> dragover –> drop –> dragend

Drag & Drop 網頁內的元素拖拽:

  HTML5為元素新增了用于拖拽的屬性draggable ,這個屬性決定了元素是否能被拖拽,如果draggable=”true”,則元素可被拖拽,否則只能選擇元素的文本。

  值得一提的是HTML5支持拖拽數據存儲,使用dataTransfer 接口,作用于元素的拖拽基礎上,dataTransfer對象包含以下屬性和方法:

  • dataTransfer.dropEffect [ = value ] :返回已選擇的拖放效果,如果該操作效果與起初設置的effectAllowed效果不符,則拖拽操作失敗。可以設置修改,包含這幾個值:“none”, “copy”, “link” 和 “move”
  • dataTransfer.effectAllowed [ = value ] :返回允許執行的拖拽操作效果,可以設置修改,包含這些值:“none”, “copy”, “copyLink”, “copyMove”, “link”, “linkMove”, “move”, “all” 和 “uninitialized”
  • dataTransfer.types :返回在dragstart事件出發時為元素存儲數據的格式,如果是外部文件的拖拽,則返回”files”
  • dataTransfer.clearData ( [ format ] ) :刪除指定格式的數據,如果未指定格式,則刪除當前元素的所有攜帶數據
  • dataTransfer.setData(format, data) :為元素添加指定數據
  • dataTransfer.getData(format) :返回指定數據,如果數據不存在,則返回空字符串
  • dataTransfer.files :如果是拖拽文件,則返回正在拖拽的文件列表FileList
  • dataTransfer.setDragImage(element, x, y) :制定拖拽元素時跟隨鼠標移動的圖片,x、y分別是相對于鼠標的坐標(據測試,Chrome暫不支持)
  • dataTransfer.addElement(element) :添加一起跟隨拖拽的元素,如果你想讓某個元素跟隨被拖拽元素一同被拖拽,則使用此方法(據測試,Chrome暫不支持)

在dragstart事件觸發時可以為被拖拽元素存儲數據,就是使用上面說到的dataTransfer.setData ,setData的數據格式一般有兩種:”text/plain”(用于文本數據)和”text/uri-list”(用于url),你可以先為某個可拖拽元素設置微數據,然后為它設置draggable屬性為true,之后在其dragstart事件觸發時存儲數據:
html部分:



1
2
 

<div id = "dragMe" builddate= "2011-1-10" draggable= "true" > 拖拽我!</ div >
<div id = "dropHere" ></ div >

javascript部分:



1
2
3
4
5
 

var oDragMe = document.getElementById ( 'dragMe' ) ;

oDragMe.addEventListener ( 'dragstart' , function ( e) {
  e.dataTransfer .setData ( 'text/plain' , e.target .getAttribute ( 'builddate' ) ) ;
} , false )

在拖拽結束的時候便可以獲取相應元素的數據:



1
2
3
4
5
6
 

var oDropBox = document.getElementById ( 'dropHere' ) ,
  tmpData;

oDropBox .addEventListener ( 'drop' , function ( e) {
  tmpData = e.dataTransfer .getData ( 'text/plain' ) ;
} , false )

創建拖拽事件監聽的時候記得要把默認的行為事件去掉,畢竟瀏覽器是有默認拖拽行為的,尤其是dragover事件一定要使用e.preventDefault(),不然drop事件可能不會被觸發:



1
2
3
4
 

oDropBox .addEventListener ( 'dragover' , function ( e) {
  e.stopPropagation ( ) ;
     e.preventDefault ( ) ;
} , false )

上面講的這些基本上就能完成頁面內元素的拖拽操作了,下面我們來說說從本地拖拽圖片到頁面元素中用到的技術:

FileReader獲取本地拖拽文件

點擊查看實例Demo

  作為 File API 的一部分,FileReader 專門用于讀取文件,根據 W3C 的定義,FileReader 接口 “提供一些讀取文件的方法與一個包含讀取結果的事件模型”。

來看看FileReader支持的方法、屬性和事件:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 

[ Constructor]
interface FileReader {

  // 異步讀取方法
  void readAsArrayBuffer( in Blob blob) ;
  void readAsBinaryString( in Blob blob) ;
  void readAsText( in Blob blob, [ Optional] in DOMString encoding) ;
  void readAsDataURL( in Blob blob) ;

  void abort( ) ;

  // 狀態
  const unsigned short EMPTY = 0 ;
  const unsigned short LOADING = 1 ;
  const unsigned short DONE = 2 ;
 
 
  readonly attribute unsigned short readyState;

  // 文件或二進制數據
  readonly attribute any result;
 
  readonly attribute FileError error;

  // 事件處理
  attribute Function onloadstart;
  attribute Function onprogress;
  attribute Function onload ;
  attribute Function onabort;
  attribute Function onerror ;
  attribute Function onloadend;

} ;
FileReader implements EventTarget;

今天只說說關于拖拽本地文件到頁面的幾個相關FileReader屬性和事件:

  • readAsDataURL方法 :參數為要讀取的文件對象,將文件讀取為DataUrl
  • onload事件 :當讀取文件成功完成的時候觸發此事件

在FileReader onload事件觸發后,你可以通過this.result 來獲取讀取的文件數據,如果是圖片,將返回base64格式的圖片數據。



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 

//一定要在dragover事件中取消默認拖拽行為,不然drop事件會失效
oDropBox.addEventListener ( 'dragover' , function ( e) {
      e.stopPropagation ( ) ;
      e.preventDefault ( ) ;
} , false ) ;
oDropBox.addEventListener ( 'drop' , handleDrop, false ) ;

function handleDrop( e) {
  e.stopPropagation ( ) ;
  e.preventDefault ( ) ;

  var fileList  = e.dataTransfer .files ,   //獲取拖拽文件
    oImg = document.createElement ( 'img' ) ,
    reader = new FileReader( ) ;

  reader.onload = function ( e) {
    oImg.src = this .result ;
    oDropBox.appendChild ( oImg) ;
  }
  reader.readAsDataURL ( fileList[ 0 ] ) ;   //這里只取拖拽的第一個,實際中你可以遍歷處理file列表

OK,通過以上代碼你就可以完成基本的本地圖片拖拽到頁面指定元素內的功能了。
點擊查看實例Demo

《我日》Demo 預覽

注意,以上demo僅可使用新版Chrome和FireFox查看,IE不支持。

好了,今天先講這些,今后會更新更多HTML5 相關的技術的,希望大家多多關注~

日歷

鏈接

個人資料

藍藍設計的小編 http://m.ocunn.cn

存檔

欧美美女一区二区| 天海翼一区二区| 天天爽夜夜爽视频| 高清一区在线观看| 国产av无码专区亚洲精品| 高清无码一区二区在线观看吞精| 欧美欧美一区二区| 国产偷国产偷亚洲高清97cao| 成人黄色生活片| 国产成人久久久精品一区| 97色在线观看| 97香蕉超级碰碰久久免费的优势| 欧美国产精品日韩| 久久人人看视频| 国内免费久久久久久久久久久| 久久99国产精品久久久久久久久| 日韩一中文字幕| 久久久精品亚洲| 久久亚洲一区二区三区四区五区高| 日韩中文在线视频| 久久综合伊人77777尤物| 久久偷看各类女兵18女厕嘘嘘 | 日韩三级在线免费观看| 制服丝袜日韩国产| 精品国产乱码久久久久久久| 亚洲国产成人爱av在线播放| 亚洲精品久久久一区二区三区| 日韩av在线免费观看| 国产亚洲欧洲高清| 久久精品国产2020观看福利| 欧美成人午夜免费视在线看片| 欧美日本国产在线| 青青久久av北条麻妃海外网| 国产精品视频一| 成人欧美视频在线| 你懂的视频在线一区二区| 一级做a爰片久久| 福利视频免费在线观看| 国产成人手机视频| 日韩成人av影院| 日韩av片在线| 日韩成人免费观看| 国产美女免费视频| 中文字幕伊人| 国产www.大片在线| 日本在线观看高清完整版| 中日韩脚交footjobhd| 亚洲欧美专区| 九九综合久久| 一区二区三区国产在线| 国产一区二区视频在线| 久久久久国产精品厨房| 亚洲国产精品嫩草影院| 欧美三级一区二区| 精品无人国产偷自产在线| 久久精品2019中文字幕| 国产不卡视频在线| 精品免费二区三区三区高中清不卡| 永久免费精品视频网站| 男女曰b免费视频| 中文字幕第3页| 欧美黑吊大战白妞| 国产精品久久婷婷| 三级在线播放| 高清精品在线| swag国产精品一区二区| 99热精品久久| 美美哒免费高清在线观看视频一区二区| 成人妖精视频yjsp地址| 亚洲人成伊人成综合网小说| 欧美性三三影院| 亚洲新声在线观看| 国产精品入口福利| 色噜噜色狠狠狠狠狠综合色一 | 老司机深夜福利在线观看| 久久久久久久久久久久电影| 成人看的羞羞网站| 蜜臀av性久久久久av蜜臀妖精| 91免费看`日韩一区二区| 亚洲h在线观看| 亚洲成色777777在线观看影院| 欧美华人在线视频| 精品一区二区三区免费毛片| 3d动漫一区二区三区| 日韩综合第一页| 久久高清免费视频| 五月天婷婷在线播放| 在线中文字幕-区二区三区四区| www.久久久.com| 欧美另类视频| 99re这里只有精品视频首页| 一本久道久久综合中文字幕| 一区二区三区美女xx视频| 国产精品亚洲自拍| 欧美做暖暖视频| 91视频免费观看网站| 欧美一级黄视频| 午夜视频在线观看免费视频| 99综合久久| 亚洲美女毛片| 欧美激情在线一区二区| 91精品国产免费| 国产69久久精品成人| 视频在线观看成人| 国产大片一区二区三区| 国产亚洲欧美在线精品| 成人18在线| 精品国产乱子伦一区二区| 日韩av在线播放中文字幕| 中文字幕一区二区5566日韩| 精品国产123| 91精品久久久久| 久久久噜噜噜www成人网| 亚洲人与黑人屁股眼交| 色呦呦免费观看| 日本精品在线中文字幕| 伊人精品视频| 国产精品家庭影院| 亚洲精品自拍第一页| 91偷拍精品一区二区三区| chinese少妇国语对白| 久久久久久久久精| 国产1区2区3区在线| 国产毛片精品| 国产精品白丝av| 欧美区视频在线观看| 日韩免费高清在线观看| 久久久久久久久久网| a级片在线观看免费| 裸体xxxx视频在线| 五月国产精品| 97精品久久久午夜一区二区三区 | 一区二区在线观看av| 中文字幕欧美日韩在线| 无码免费一区二区三区免费播放| 伦理片一区二区| 亚洲黄色一级大片| 成人自拍视频| 国产在线看一区| 91精品国产综合久久蜜臀| 国产日产久久高清欧美一区| 国产精品igao| 中文字幕av片| 午夜欧美巨大性欧美巨大| 国产精品入口| 在线亚洲欧美专区二区| 国产精品中文久久久久久久| 色国产在线视频| 性生活黄色大片| 日韩一区免费| 91婷婷韩国欧美一区二区| 精品亚洲精品福利线在观看| 久久综合狠狠综合久久综青草| 无码人妻精品一区二区三区温州 | 午夜久久影院| 亚洲一区在线视频| 清纯唯美日韩制服另类| 日韩av在线中文| 国产高清视频免费观看| 麻豆精品久久| 99精品欧美一区| 尤物tv国产一区| 今天免费高清在线观看国语| 免费在线观看av网址| 日本电影在线观看| 中日韩男男gay无套| 欧美最猛性xxxxx直播| 成人国产精品免费视频| 中文字幕乱码一区| 四虎影视精品成人| 性xxxx欧美老肥妇牲乱| 亚洲一区二区三区精品在线| 热99精品里视频精品| 天堂网成人在线| 在线观看一级片| 97视频精品| 欧美午夜丰满在线18影院| 91精品国产综合久久香蕉的用户体验 | av激情久久| 日韩黄色中文字幕| 4438x成人网全国最大| 久久精品国产清高在天天线| 欧美一区二区三区在线观看 | 中文字幕在线观看2018| 久草在线视频网站| 久久福利资源站| 亚洲男人天堂九九视频| 激情五月六月婷婷| 中文字幕免费高清网站| 精品一区91| 国产欧美日韩另类视频免费观看| 国内精品久久久久影院 日本资源| 一区二区三区视频在线观看免费| 天天操天天操天天干| 日韩电影免费在线观看| 欧美三级欧美成人高清www| 高清视频在线观看一区| 精品国产视频在线观看| 国精产品一区二区三区有限公司| av资源网一区| 午夜伦理精品一区| 亚洲区 欧美区| 欧美猛烈性xbxbxbxb| 日韩高清不卡一区二区三区| 亚洲精品久久久久久下一站| 91动漫在线看| 免费观看黄一级视频| 99成人超碰| 欧美精品乱码久久久久久按摩| 亚洲精品日韩成人| 一级黄色大片免费| 久久不卡国产精品一区二区| 91极品美女在线| 日韩精品资源| 一级片视频网站| 精品日韩一区| 欧美日韩国产高清一区二区三区| 亚洲一二三区精品| 国产农村妇女毛片精品久久| 超碰成人久久| 欧美一级黄色片| 国产无限制自拍| 婷婷五月综合久久中文字幕| 欧美私人啪啪vps| 日韩www在线| 91激情视频在线| av在线电影免费观看| 狠狠色丁香九九婷婷综合五月| 不卡毛片在线看| 大尺度在线观看| av今日在线| 欧美国产一区二区| 91久久爱成人| 亚洲图片欧美日韩| 成人无号精品一区二区三区| 91麻豆精品国产91久久久使用方法 | 午夜视频在线观看韩国| 麻豆91在线播放免费| 萌白酱国产一区二区| 内射中出日韩无国产剧情| 国偷自产一区二区免费视频 | 欧美特级限制片免费在线观看| 异国色恋浪漫潭| 天天干,天天操,天天射| 日日嗨av一区二区三区四区| 麻豆成人在线看| 国产123在线| 国产美女亚洲精品7777| 欧美午夜电影在线| 亚洲中文字幕无码一区二区三区 | 日韩第一页在线| 狠狠干狠狠操视频| av资源在线| 一区二区三区日本| 亚洲欧美电影在线观看| 日本毛片在线观看| 免费成人小视频| 日韩av男人的天堂| 日本在线观看视频网站| 欧美日韩性在线观看| 亚洲福利视频久久| 亚洲黄色小说在线观看| 中文字幕av一区二区三区佐山爱| 亚洲一区二区在线免费观看视频| 亚洲春色在线视频| 午夜在线网站| 91小视频免费观看| 欧美性天天影院| 超碰在线中文| 国产91对白在线观看九色| 91热精品视频| 国产精品视频一区二区三区,| 国产视频一区三区| 午夜精品久久久久久久99黑人| 国产日韩欧美在线观看视频| 狠狠色丁香婷婷综合影院| 亚洲精品在线不卡| 91成年人网站| 西瓜成人精品人成网站| 亚洲美女av黄| 国产又粗又猛又爽又黄的视频四季| 精品一区二区男人吃奶| 亚洲精品永久免费精品| 免费成人深夜天涯网站| 精品久久久久久久久久久aⅴ| 亚洲一区二区久久久| 久久久久久成人网| 欧美一区电影| 欧美精品情趣视频| 日韩在线观看第一页| 亚洲久久一区| 国产精品 欧美在线| 亚洲怡红院av| 国产乱子伦视频一区二区三区 | 日本福利视频导航| 成视频免费观看在线看| 亚洲一区二区三区四区在线免费观看| 可以在线看的av网站| 91超碰国产在线| 日本久久一区二区| 91视频福利网| 超碰成人福利| 中文字幕无线精品亚洲乱码一区 | 国产成人精品毛片| 成人午夜又粗又硬又大| 日本在线播放一区| www黄在线观看| 亚洲成a人片在线不卡一二三区| 中文字幕欧美人妻精品一区| 成人国产激情在线| 欧美精品一区二| 国产aaaaaaaaa| 国产一在线精品一区在线观看| 欧美在线激情视频| 丰满熟妇乱又伦| 2021久久国产精品不只是精品| 中国成人亚色综合网站| 青草影视电视剧免费播放在线观看| 色欲综合视频天天天| 美国黄色一级视频| 国产在线日韩精品| 91国产一区在线| 国产ts人妖调教重口男| 91在线观看高清| 老子影院午夜伦不卡大全| 欧美magnet| 精品中文视频在线| 久久久久久久中文字幕| 麻豆精品在线播放| 欧洲一区二区日韩在线视频观看免费| 老司机av在线免费看| 精品视频资源站| 欧洲女同同性吃奶| 激情欧美一区| 91精品国产综合久久久久久丝袜 | 另类欧美小说| 暖暖在线中文免费日本| 欧美一级片在线观看| 久久人妻无码aⅴ毛片a片app| 亚洲欧美日韩精品一区二区| 精品乱色一区二区中文字幕| 麻豆传媒视频在线观看| 欧美日韩免费一区二区三区| x88av在线| 久久中文欧美| 亚洲欧美99| 亚洲精品一级二级| 中文字幕在线成人| 国产手机视频在线| 亚洲色图在线看| 日本女人性视频| 中文视频一区| 国产亚洲精品久久飘花| 1stkiss在线漫画| 精品国一区二区三区| 国产成人无码精品亚洲| 99在线热播精品免费| 国产精品少妇在线视频| 天天躁日日躁成人字幕aⅴ| 日本视频久久久| jizz在线免费观看| 欧美一区二区三区喷汁尤物| 久久久精品国产sm调教| 成人一区二区三区| 免费在线观看的毛片| 精品一区二区三区中文字幕老牛| 国产久一一精品| 久操视频在线播放| 亚洲国产精品电影在线观看| 无码人妻丰满熟妇精品区| 欧美激情综合五月色丁香 | 久久久久久视频| 国产激情视频一区二区在线观看| 精品少妇人妻av免费久久洗澡| 久久1电影院| 国产精品日韩专区| av软件在线观看| 亚洲色无码播放| 天天射天天色天天干| 欧洲一区二区av| 久久久久久久久久久久久久免费看| 菠萝蜜视频在线观看一区| 色一情一区二区三区| 999亚洲国产精| 综合久久国产| 神马久久av| 国产 高清 精品 在线 a| 中文在线8资源库| 欧美激情视频一区| 在线观看免费版| 国产亚洲精品激情久久| 宅男午夜在线| 69av一区二区三区| 中文字幕日韩国产| 亚洲成人精品一区| 福利所第一导航| 欧美经典三级视频一区二区三区| 国产精品久久久久久久无码| 美日韩一区二区| 九色91popny|