18.04.2016 Views

Professional JavaScript For Web Developers

javascript for learners.

javascript for learners.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 13<br />

of logic to ensure that each item is arranged appropriately, but this is enough to get you started. Here is<br />

how all the code looks when put together:<br />

<br />

<br />

Simulated Drag And Drop Example<br />

<br />

<br />

var iDiffX = 0;<br />

var iDiffY = 0;<br />

function handleMouseMove() {<br />

var oEvent = EventUtil.getEvent();<br />

var oDiv = document.getElementById(“div1”);<br />

oDiv.style.left = oEvent.clientX - iDiffX;<br />

oDiv.style.top = oEvent.clientY - iDiffY;<br />

}<br />

function handleMouseDown() {<br />

var oEvent = EventUtil.getEvent();<br />

var oDiv = document.getElementById(“div1”);<br />

iDiffX = oEvent.clientX - oDiv.offsetLeft;<br />

iDiffY = oEvent.clientY - oDiv.offsetTop;<br />

EventUtil.addEventHandler(document.body, “mousemove”,<br />

handleMouseMove);<br />

EventUtil.addEventHandler(document.body, “mouseup”, handleMouseUp);<br />

}<br />

function handleMouseUp() {<br />

var oEvent = EventUtil.getEvent();<br />

EventUtil.removeEventHandler(document.body, “mousemove”,<br />

handleMouseMove);<br />

EventUtil.removeEventHandler(document.body, “mouseup”,<br />

handleMouseUp);<br />

}<br />

if (isOverDropTarget(oEvent.clientX,oEvent.clientY)) {<br />

alert(“dropped!”);<br />

var oDiv = document.getElementById(“div1”);<br />

var oTarget = document.getElementById(“divDropTarget”);<br />

oDiv.style.left = oTarget.offsetLeft;<br />

oDiv.style.top = oTarget.offsetTop;<br />

}<br />

function isOverDropTarget(iX, iY) {<br />

var oTarget = document.getElementById(“divDropTarget”);<br />

var iX1 = oTarget.offsetLeft;<br />

var iX2 = iX1 + oTarget.offsetWidth;<br />

var iY1 = oTarget.offsetTop;<br />

var iY2 = iY1 + oTarget.offsetHeight;<br />

404

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!