Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,800 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
- Creating the main panel and tab containers
- Adding content to the containers
- Adding CSS styles to the text and tabs
- Adding the jQuery $(document).ready() function
- Assigning click events to the tabs
- Setting an autostart on page load
- Creating custom graphics for the panels
- Assigning custom classes to the HTML elements
Skill Level Intermediate
Now the next thing we need to do is take each individual panel and line them up in a line inside of the panels_container. So what we're going to do is we're going to look at each one of the individual panels, see where they are in the lineup, and then position them accordingly. So let's start by typing dollar sign, beginning and ending parenthesis, tick marks inside for a string literal. We'll type .panel_container .panel. So we're going to search for each panel inside of the panel_container.
Outside of the parentheses .each, another set of parentheses, semicolon. Inside of the parentheses for each, type function, another set of parentheses, beginning and ending bracket. Split that open on the brackets. So now inside of the each function we want to target each panel that we find. So let's start with dollar sign, parentheses, type this inside. Each time an item's found we're going to reference it as this.
Outside of the parentheses .css, beginning and ending parentheses and a semicolon. Now inside of the parentheses for CSS let's put a beginning and ending bracket. This way we can specify multiple CSS properties. Inside of the brackets, two tick marks for the string literal. We're going to set the width property outside of the string literal but still inside of the brackets, colon, and then we want to target the window.panelWidth. We want to set the width of the panels to match the same as the overall container.
So let's copy window.panelWidth. Let's paste it right inside up here. And now we need to add pixels, so I'll type plus sign, two tick marks for a string literal, and then 'px,' since we need to specify pixels as the CSS property. Now after the string literal for px, let's hit a comma, and we're going to set a second property. Two tick marks, type in left. Outside of the string literal let's hit a colon, and then let's add beginning and ending parentheses, and let's add a plus sign, two tick marks again and then 'px.' So what we're going to do here is the left property, we're going to do a calculation inside up here.
So what we need to calculate here is the individual panel that's been found and multiply it by the panelWidth. So in order to count the panels that are being found, let's come back in the each statement inside the function and let's type in the word index. This tells jQuery to count each item that it finds. So what we're going to do down inside of the parentheses for left is we're going to type index, then an asterisk to multiply index times. Let's come up here and copy the window.panelWidth variable, and let's paste it inside up here.
So the index starts at 0, so the very first item will be 0 times the window.panelWidth, which will give a 0, so the left property of the first panel will be 0. So that will be the one that we see. Then the next time the index runs it will be one, times the panelWidth, so the panel width we're going to start with 325. The left property for the second panel will be 325, and then the next one will be 650. Now that we have the individual panels lining up, what we're going to need to do is take the panels_container, which holds all the individual panels, and make sure that the width of that object is wide enough to encompass all of the panels inside.
So inside of each function we're going to type dollar sign, parentheses, inside of the parentheses tick marks for a string literal, .sp .panels. Outside of the parentheses, .css, another set of parentheses, semicolon, inside, two tick marks for a string literal. We're going to set the width, then a comma, and then what we're going to do is making another calculation here.
Another set of parentheses. We're going to type index+1. Since index is zero by default we want to make sure that we have an actual integer for the first time this runs. Outside of the parentheses for index+1 but still inside of the parentheses for CSS, we're going to multiply this times to window .panelWidth variable, so let's copy that. Let's come down here after the asterisk, let's paste that, and then let's add our string literal for px.
Plus two tick marks 'px.' So with this in place, we have all of the panels lining up in a row, and then we have the panels_ container wide enough to encompass all of those lined up panels. Next, we can activate click events for the tabs.
Sign up for a Premium Membership to download courses for Internet-free viewing.
Watch offline with your iOS, Android, or desktop app.Start Your Free Trial
After signing up, download the course here or from the iOS/Android App.