Compare commits

..

27 Commits

Author SHA1 Message Date
Joshua Sigona f57da84b34 Implement solution. 5 years ago
Ryan Sobol 9f424e9ebb Flex 8 years ago
Ryan Sobol 670a7de318 Improve the README 8 years ago
Ryan Sobol 3a2f06183f Improve the CSS 8 years ago
Ryan Sobol 2b226f0912 Improve the README 8 years ago
Ryan Sobol 6a99ac8ed0 Improve the README 8 years ago
Ryan Sobol 61ba5846f8 Improve the gif 8 years ago
Ryan Sobol f2fa5eaa08 Remove screenshot 8 years ago
Ryan Sobol 2daab178da Improve the README 8 years ago
Ryan Sobol 7b724cc4dc Improve the README 8 years ago
Ryan Sobol bbb7582d3e Improve the README 8 years ago
Ryan Sobol 01d5e8efc9 Improve the README 8 years ago
Ryan Sobol f7b6b56f97 Improve the README 8 years ago
Ryan Sobol 4db1c28362 Improve the README 8 years ago
Ryan Sobol 104ac52aa7 Improve the screenshot 8 years ago
Ryan Sobol 289c0fd033 Improve the README 8 years ago
Ryan Sobol 6ba4d24e86 Rename 8 years ago
Ryan Sobol ffc92b74d4 Tweak HTML and CSS 8 years ago
Ryan Sobol bfec34aa0b Tweak HTML 8 years ago
mrjadaml 431312f75f order of tasks seemed backward. Also made the bouns a bit harder 8 years ago
Craig Quincy 495eff9794 Revert "working model with bonuses" 8 years ago
THACHER 8d168d8a35 working model with bonuses 8 years ago
Ken McGrady 203fd81c6a Rename spotlight to stoplight 9 years ago
Ken McGrady 10f46daf57 Move Screenshot back below 9 years ago
Ken McGrady c0a7b0b853 Update README 9 years ago
Ken McGrady 8ab3a0c231 Update README 9 years ago
Ian Smith 6728934c84 updated readme 9 years ago
  1. 103
      index.js

@ -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…
Cancel
Save