Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ========
- // ##Traffic Lights
- // ========
- function doTrafficLights() {
- const activeLight = getActiveLight();
- if(activeLight === 'red'){
- return turnRed();
- }
- if(activeLight === 'yellow'){
- return turnYellow();
- }
- if(activeLight === 'green'){
- return turnGreen();
- }
- console.log(activeLight);
- }
- // this function randomly returns red, yellow, or green
- // and is called by doTrafficLights.
- // don't modify it!
- function getActiveLight() {
- return (['red', 'green', 'yellow'])[Math.floor(Math.random() * 3)];
- }
- /* From here down, you are not expected to
- understand.... for now :)
- Nothing to see here!
- */
- function turnOffLights() {
- $('.traffic-light').removeClass('yellow-on red-on green-on');
- }
- function turnGreen() {
- turnOffLights();
- $('.green-light').addClass('green-on');
- }
- function turnYellow() {
- turnOffLights();
- $('.yellow-light').addClass('yellow-on');
- }
- function turnRed() {
- turnOffLights();
- $('.red-light').addClass('red-on');
- }
- function handleClicks() {
- $('.js-control-lights').click(function() {
- doTrafficLights();
- });
- }
- $(function() {
- turnOffLights();
- handleClicks();
- });
- // ========
- // ##Error Alert
- // ========
- function main() {
- try {
- doAllTheThings();
- }
- catch (err) {
- console.error(err);
- reportError(err);
- }
- }
- function doAllTheThings() {
- throw {
- message: "Everything's ruined",
- name: "FatalException",
- toString: function() {
- return `${this.name}: ${this.message}`;
- }
- }
- }
- function reportError(e) {
- $('.js-error-report').text(`Uh oh, something went wrong! Here's what we know: ${e.message}`);
- }
- $(main);
- // =======
- // ##
- // =======
Add Comment
Please, Sign In to add comment