Compare commits
27 Commits
Author | SHA1 | Date |
---|---|---|
Joshua Sigona | f57da84b34 | 5 years ago |
Ryan Sobol | 9f424e9ebb | 8 years ago |
Ryan Sobol | 670a7de318 | 8 years ago |
Ryan Sobol | 3a2f06183f | 8 years ago |
Ryan Sobol | 2b226f0912 | 8 years ago |
Ryan Sobol | 6a99ac8ed0 | 8 years ago |
Ryan Sobol | 61ba5846f8 | 8 years ago |
Ryan Sobol | f2fa5eaa08 | 8 years ago |
Ryan Sobol | 2daab178da | 8 years ago |
Ryan Sobol | 7b724cc4dc | 8 years ago |
Ryan Sobol | bbb7582d3e | 8 years ago |
Ryan Sobol | 01d5e8efc9 | 8 years ago |
Ryan Sobol | f7b6b56f97 | 8 years ago |
Ryan Sobol | 4db1c28362 | 8 years ago |
Ryan Sobol | 104ac52aa7 | 8 years ago |
Ryan Sobol | 289c0fd033 | 8 years ago |
Ryan Sobol | 6ba4d24e86 | 8 years ago |
Ryan Sobol | ffc92b74d4 | 8 years ago |
Ryan Sobol | bfec34aa0b | 8 years ago |
mrjadaml | 431312f75f | 8 years ago |
Craig Quincy | 495eff9794 | 8 years ago |
THACHER | 8d168d8a35 | 8 years ago |
Ken McGrady | 203fd81c6a | 9 years ago |
Ken McGrady | 10f46daf57 | 9 years ago |
Ken McGrady | c0a7b0b853 | 9 years ago |
Ken McGrady | 8ab3a0c231 | 9 years ago |
Ian Smith | 6728934c84 | 9 years ago |
@ -1,80 +1,23 @@ |
||||
(function() { |
||||
'use strict'; |
||||
|
||||
const stopButton = document.querySelector('#stopButton'); |
||||
const slowButton = document.querySelector('#slowButton'); |
||||
const goButton = document.querySelector('#goButton'); |
||||
|
||||
const stopLight = document.querySelector('#stopLight'); |
||||
const slowLight = document.querySelector('#slowLight'); |
||||
const goLight = document.querySelector('#goLight'); |
||||
|
||||
// part 1
|
||||
stopButton.addEventListener('click', () => { |
||||
stopLight.classList.toggle('stop'); |
||||
|
||||
// or...
|
||||
// if (stopLight.classList.contains('stop')) {
|
||||
// stopLight.classList.remove('stop');
|
||||
// }
|
||||
// else {
|
||||
// stopLight.classList.add('stop');
|
||||
// }
|
||||
}); |
||||
|
||||
slowButton.addEventListener('click', () => { |
||||
slowLight.classList.toggle('slow'); |
||||
}); |
||||
|
||||
goButton.addEventListener('click', () => { |
||||
goLight.classList.toggle('go'); |
||||
}); |
||||
|
||||
// part 2
|
||||
const handleMouseEnter = (event) => { |
||||
console.log(`Entered ${event.target.textContent} button`); |
||||
}; |
||||
|
||||
const handleMouseLeave = (event) => { |
||||
console.log(`Left ${event.target.textContent} button`); |
||||
}; |
||||
|
||||
stopButton.addEventListener('mouseenter', handleMouseEnter); |
||||
slowButton.addEventListener('mouseenter', handleMouseEnter); |
||||
goButton.addEventListener('mouseenter', handleMouseEnter); |
||||
|
||||
stopButton.addEventListener('mouseleave', handleMouseLeave); |
||||
slowButton.addEventListener('mouseleave', handleMouseLeave); |
||||
goButton.addEventListener('mouseleave', handleMouseLeave); |
||||
|
||||
// bonus
|
||||
const controls = document.querySelector('#controls'); |
||||
|
||||
controls.addEventListener('click', (event) => { |
||||
if (event.target === controls) { |
||||
return; |
||||
} |
||||
|
||||
let status; |
||||
|
||||
if (event.target === stopButton) { |
||||
status = stopLight.classList.contains('stop') ? 'on' : 'off'; |
||||
|
||||
// or...
|
||||
// if (stopLight.classList.contains('stop')) {
|
||||
// status = 'on';
|
||||
// }
|
||||
// else {
|
||||
// status = 'off';
|
||||
// }
|
||||
} |
||||
else if (event.target === slowButton) { |
||||
status = slowLight.classList.contains('slow') ? 'on' : 'off'; |
||||
} |
||||
else { |
||||
status = goLight.classList.contains('go') ? 'on' : 'off'; |
||||
} |
||||
|
||||
console.log(`${event.target.textContent} bulb ${status}`); |
||||
}); |
||||
})(); |
||||
document.addEventListener("DOMContentLoaded",()=>{ |
||||
document.getElementById("controls").addEventListener("click",(clicked)=>{ |
||||
var lightPrefix = clicked.target.id.replace("Button",""); |
||||
var targetLight = document.getElementById(lightPrefix+"Light"); |
||||
if (!targetLight.classList.contains(lightPrefix)) { |
||||
targetLight.classList.add(lightPrefix); |
||||
console.log(lightPrefix+" bulb on.") |
||||
} else { |
||||
targetLight.classList.remove(lightPrefix); |
||||
console.log(lightPrefix+" bulb off.") |
||||
} |
||||
}) |
||||
|
||||
var buttons = document.getElementsByClassName("button"); |
||||
for (var i=0;i<buttons.length;i++) { |
||||
buttons[i].addEventListener("mouseenter",(e)=>{ |
||||
console.log("Entered "+e.target.innerHTML+" button.") |
||||
}) |
||||
buttons[i].addEventListener("mouseleave",(e)=>{ |
||||
console.log("Left "+e.target.innerHTML+" button.") |
||||
}) |
||||
} |
||||
}) |
Loading…
Reference in new issue