Portfolio Website
The website you are currently traversing.
Carousel Style Page Navigation
The content of the page is within a box wider than the size of the screen. The content within this 'sliding box' is spaced evenly and when one of the navigation links is clicked, the position of the 'sliding' box is moved to show the relevant 'page'.
The current position of the page is tracked and the distance needed to traverse to display the next page will affect the timing of the transition to that page. Traversing further will take longer.
Projects Article Expansion
The projects begin with styling to show only the title of the project. When they are clicked they expand to the height required to display the content.
The challenge here is that CSS transitions do not support the 'auto' value of height. To solve this, JavaScript is used to set the inline height of the box to the 'scrollHeight' (A property that determines how far can be scrolled, effectively the height of the content) allowing a smooth transition. After this transition is complete the height is then set to auto to maintain responsiveness.
Similarly, to return to it's initial height, the height must again be set to the scrollheight before being set almost immediatly to the initial value so that the stylesheet style can be transitioned smoothly once again.
View Code On GitHub


