<!-- TODO FIXME: WEBMASTER to fix: Once one javascript drag and drop is fixed, search for "isDone()" to fix those as well. -->
<style> #bgmap { left: 0px; position: absolute; top: 0px; width: 10px; } #11map { left: 104px; position: absolute; top: 190px; width: 1px; } #12map { left: 140px; position: absolute; top: 190px; width: 1px; } #13map { left: 16px; position: absolute; top: 190px; width: 1px; } #14map { left: 58px; position: absolute; top: 190px; width: 1px; } #15map { left: 180px; position: absolute; top: 190px; width: 1px; } #16map { left: 230px; position: absolute; top: 200px; width: 1px; } #17map { left: 300px; position: absolute; top: 200px; width: 1px; } #18map { left: 20px; position: absolute; top: 30px; width: 1px; } #19map { left: 20px; position: absolute; top: 65px; width: 1px; } #congrats { left: 53px; position: absolute; top: 130px; visibility: hidden; width: 1px; } </style>
<script type="text/javascript"> //var engaged = false var offsetX = 0 var offsetY = 0 var selectedObj var selectedState = '' var selectedSateIndex function state(abbrev, fullName, x, y) { this.abbrev = abbrev this.fullName = fullName this.x = x this.y = y this.done = false } <!-- finishing position--> var states = new Array() states[0] = new state('11', '', 69, 27) states[1] = new state('12', '', 109, 27) states[2] = new state('13', '10u', 106, 115) states[3] = new state('14', '100u', 29, 110) states[4] = new state('15', 'tr', 201, 65) states[5] = new state('16', 'EL', 256, 130) states[6] = new state('17', 'cap', 166, 25) states[7] = new state('18', 'res', 39, 93) states[8] = new state('19', 'res', 140, 77) function showProps(obj, objName) { var result = '' count = 0 for (var i in obj) { result += objName + '.' + i + '=' + obj[i] + '\n' count++ if (count == 25) { alert(result) result = '' count = 0 } } alert(result) } function getSelectedMap() { selectedObj = window.event.srcElement.parentElement if (selectedObj) { var stateName = selectedObj.id.substring(0, 2) selectedObj = selectedObj.style for (var i = 0; i < states.length; i++) { if (states[i].abbrev == stateName) { selectedStateLabel = document.all(stateName + 'label') selectedStateIndex = i selectedObj.zIndex = 100 return } } selectedObj = null selectedStateLabel = null selectedStateIndex = null } return } function dragIt() { if (selectedObj) { selectedObj.pixelLeft = window.event.clientX - offsetX selectedObj.pixelTop = window.event.clientY - offsetY } } function toggleEngage() { if (selectedObj) { release() } else { engage() } } function engage() { getSelectedMap() if (selectedObj) { offsetX = window.event.offsetX - document.body.scrollLeft offsetY = window.event.offsetY - document.body.scrollTop selectedStateLabel.style.backgroundColor = 'red' } } function release() { if (selectedObj) { if (onTarget()) { selectedStateLabel.style.backgroundColor = 'lightgreen' states[selectedStateIndex].done = true if (isDone()) { document.all.congrats.style.visibility = 'visible' } } else { selectedStateLabel.style.backgroundColor = 'red' states[selectedStateIndex].done = false document.all.congrats.style.visibility = 'hidden' } selectedObj.zIndex = 0 selectedObj = null selectedState = '' } } function onTarget() { var x = states[selectedStateIndex].x var y = states[selectedStateIndex].y var objX = selectedObj.pixelLeft var objY = selectedObj.pixelTop if (objX >= x - 30 && objX <= x + 30 && objY >= y - 30 && objY <= y + 30) { selectedObj.pixelLeft = x selectedObj.pixelTop = y return true } return false } function isDone() { for (var i = 0; i < states.length; i++) { if (!states[i].done) { return false } } return true } </script>
<div onmousedown="toggleEngage()" onmousemove="dragIt()"> <div id="bgmap" style="width: 375px; height: 307px"> <img border="0" height="307" src="images/InverterCctDrag.gif" width="375" /> <div id="11label"></div> <div id="12label"></div> <div id="13label"></div> <div id="14label"></div> <div id="15label"></div> <div id="16label"></div> <div id="17label"></div> <div id="18label"></div> <div id="19label"></div> </div> <div id="11map"> <img height="60" src="images/InvCctPic1.gif" width="40" /> </div> <div id="12map"> <img height="60" src="images/InvCctPic2.gif" width="40" /> </div> <div id="13map"> <img height="60" src="images/InvCctPic3.gif" width="50" /> </div> <div id="14map"> <img height="60" src="images/InvCctPic4.gif" width="50" /> </div> <div id="15map"> <img height="60" src="images/InvCctPic5.gif" width="50" /> </div> <div id="16map"> <img height="60" src="images/InvCctPic6.gif" width="60" /> </div> <div id="17map"> <img height="60" src="images/InvCctPic7.gif" width="50" /> </div> <div id="18map"> <img height="25" src="images/InvCctPic8.gif" width="60" /> </div> <div id="19map"> <img height="25" src="images/InvCctPic9.gif" width="60" /> </div> <div id="congrats" style="width: 266px; height: 159px"> <img height="60" src="images/InvCctCongrats.gif" width="60" /> <p> <span style="font-size: medium;">Correct. </span ><span style="color: #FF0000; font-size: x-small; "> Click on a component, pull the circuit apart, and try again.</span > </p> </div> </div>
Quick Links
Legal Stuff
Social Media