Upload
truongnga
View
220
Download
0
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