JavaScript

What I did:

Drop-down menu

When I created this website, I knew I wanted to make it adaptable. From a common sense standpoint, it doesn't make sense for a website to only look decent on one size of screen when there are so many out there. But given how my nav bar works, resizing it turned it into two rows. I had a bit of a technical dilemma: I could write two hundred different use cases for where to put the little divider things so that they lined up evenly with the browser window size... or I could just code a drop-down. Understandably, I did the latter, which resulted in what I've got now.

When the user hovers over the "Menu" button, it changes color, and when the user clicks on it, a drop-down menu of links appears. If the user clicks a link, they are redirected; if they click outside the menu, it closes. (If you're on desktop, just make your browser window smaller to see for yourself!)

Simple art program

Over a year ago, I took the AP Computer Science Principles exam. This exam is graded half on a multiple choice test, and half on two projects. I chose to do my project in JavaScript, and I chose to create an art program.

The user can select one of the buttons at the top to create a certain type of shape. The user can create shapes of different sizes and placements by clicking and dragging.

Please be aware that this program is buggy for a number of reasons. I have left it this way intentionally as a representation of my level of skill at the time I wrote this program. I will not be retroactively improving this project, only making new ones :)

How I did it:

I learned a lot of JavaScript from using it to create my final project for APCSP. By using it essentially as its own stand-alone language, I learned about the power of JavaScript as a language - something I don't think I would have really grasped if I started out using it only to animate parts of web pages. However, I learned essentially nothing about how to integrate JavaScript with web pages until I read "HTML, CSS, & JavaScript Web Publishing" by Colburn, Kyrnin, and Lemay. Once I read that book, I learned how to use onclick, onhover, etc. to make interactive web pages.