New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Lining up the panels in a row

From: Create a Sliding Tabbed Panel with jQuery and Dreamweaver

Video: Lining up the panels in a row

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.

Lining up the panels in a row

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.

Show transcript

This video is part of

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold

Are you sure you want to delete this note?

No

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.