16
Mul$media im Netz (Online Mul$media) Wintersemester 2014/15 Übung 04 (Haup8ach) Online Mul?media WS 2014/15 Übung 04 LudwigMaximiliansUniversität München 1

Mul$media*im*Netz* (Online*Mul$media)* - …€¦ · Today‘s)Agenda • rdFlashback:3 )Tutorial) • Drawing)in)the)Browser)–CodeBaLong) • HTML5)Advanced:)Drag)and)Drop)

Embed Size (px)

Citation preview

Mul$media  im  Netz  (Online  Mul$media)  Wintersemester  2014/15  

Übung  04  (Haup8ach)  

Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐  Ludwig-­‐Maximilians-­‐Universität  München   1  

Today‘s  Agenda  

•  Flashback:  3rd  Tutorial  •  Drawing  in  the  Browser  –  Code-­‐a-­‐Long  •  HTML5  Advanced:  Drag  and  Drop  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐   2  

Flashback!  

What  do  you  remember  from  last  week‘s  tutorial?  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐   3  

Drawing  in  the  web  browser  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐   4  

HTML5  

•  HTML5  introduced  a  couple  of  new  features:  •  New  Elements:  

⁻  <canvas></canvas>  ⁻  <audio></audio>  ⁻  <video></video>  ⁻  …    

•  Form  features  (examples):  ⁻  Wildcards  ⁻  Valida?on  ⁻  …    

•  Drag  and  Drop    

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐   5  

HTML5:  Drag&Drop  

•  You  can  add  „Drag&Drop“  func?onali?es  to  every  element  •  For  example:  an  image  (<img  />)  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐   6  

Most  important  aEributes  &  func$ons  

•  AEributes  –  draggable  –  ondragstart    –  ondragover  –  ondrop    

•  Func$ons  –  preventDefault();  –  setData();  –  getData();    

•  Event  aEributes  –  Event.dataTransfer  –  Event.target  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐   7  

Skeleton  

<!DOCTYPE html> <html lang="de"> <head><title>Herz</title>

<style type="text/css">.box {

width:256px; height:256px;border:3px solid #cccccc;

}</style>

<script></script></head>

<body><div id="box1" class="box“></div><br/><div id="box2" class="box“></div>

</body></html>

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐   8  

AEributes:  draggable,  ondragstart  

...<body><div id="box1" class="box">

<img id="herz" src="01.png" draggable="true“

ondragstart="drag(event)" ></div>

<br/>

<div id="box2" class="box"></div></body></html>

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐   9  

setData()  

...<script>

function drag(ev){ev.dataTransfer.setData("Text",ev.target.id);

}

</script>...

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐  10  

AEributes:  ondragover,  ondrop  

...<body>

<div id="box1" class="box" ondrop="drop(event)"

ondragover="dragOver(event)">

<img id="herz" src="01.png" draggable="true"

ondragstart="drag(event)" ></div><br/><div id="box2" class="box" ondrop="drop(event)"

ondragover="dragOver(event)">

</div>

</body></html>

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐  11  

preventDefault()  &  getData()  

...

<script>

function drag(ev){ev.dataTransfer.setData("Text",ev.target.id);

}

function dragOver(ev){ev.preventDefault();

}

function drop(ev){ev.preventDefault();

var data=ev.dataTransfer.getData("Text");ev.target.appendChild(document.getElementById(data));

}</script>...

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐  12  

Other  helpful  func$ons  

•  document.createElement("div"); !–  creates  an  empty  HTML  element  (object)  of  the  given  tag    –  not  added  to  the  DOM  tree  yet  

•  div.appendChild(child); !–  appends  an  element  to  another  element  

•  myElement.setAttribute("class", "clear"); !–  adds  akributes  to  an  element  –  very  useful  for  CSS  classes  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐  13  

Fast  forward  

Write  down    1  thing  

that  you  have  learned  today.  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐  14  

Assignment  4  

•  Topic:  Drag&Drop  Puzzle  (JS,  HMTL5)  •  Due  in:  1  Week  •  Due  date:  10.11.2014    

Online  Mul?media  WS  2013/14  -­‐  Übung  04  -­‐  Ludwig-­‐Maximilians-­‐Universität  München   15  

Thanks!    What  are  your  ques$ons?  

Ludwig-­‐Maximilians-­‐Universität  München   Online  Mul?media  WS  2014/15  -­‐  Übung  04  -­‐  16