Setting an autostart on page load
Video: Setting an autostart on page loadNow we want to have the sliding panel automatically open on page load, so let's come out of Life view. Let's switch over to sliding_panels.js. Let's scroll up to the top of the document, and we are going to create a new variable up here. So after panelWidth, we're going to type var space startPanel. Let's set that equal to 2, then a semicolon. Now, we are going to be using jQuery's nth-child, which starts at 1, so setting this to 1 will start the first panel, 2 and then 3.
- Where to go from here
Viewers: in countries Watching now:
- 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
Setting an autostart on page load
Now we want to have the sliding panel automatically open on page load, so let's come out of Life view. Let's switch over to sliding_panels.js. Let's scroll up to the top of the document, and we are going to create a new variable up here. So after panelWidth, we're going to type var space startPanel. Let's set that equal to 2, then a semicolon. Now, we are going to be using jQuery's nth-child, which starts at 1, so setting this to 1 will start the first panel, 2 and then 3.
So to sort of autostart this, now that we have that variable created, let's scroll down. After the instruction to set a click event on all the spans, let's hit a few returns. Make sure you're still inside of the document ready. We'll type dollar sign, parentheses, tick marks inside for a string literal, .sp, space, .tabs, space, span:nth-child, another set of parentheses, inside of the parentheses for nth-child, two more tick marks, two plus signs.
Now, inside of the plus signs, we want to put in the index, which is going to be the value of the startPanel. So type window.startPanel, then outside of the parentheses for the search item .trigger, beginning and ending parentheses, semicolon. Inside of the parentheses for trigger, type click. So again, what's happening here is on browser load it's as if the browser is finding the nth-child of all of our tabs, finding the item that matches the startPanel number and actually clicking that item for us.
So to test this, let's come back to index.html. Let's choose File > Save All and then Preview in Browser or use Live View, and now when the panel loads, it automatically activates the second tab. Since we put the selected state for the tabs in the change function as well, the tab automatically moves to its selected state, panel 2 slides over, and the height of the overall container opens up to encompass all of the content plus the 15 pixels that we put down here at the bottom.
Now, to show the value of actually putting the panelWidth in a variable, let's come out of Live View. In our CSS panel, let's double-click on .sp. Let's come over to the Box properties and let's change the Width from 325 to 500. We'll click OK, come back into Live view or Preview in Browser, and then notice that the tab panel works perfectly with the Width set to 500 instead of 325. All of the contents inside are rearranged and we get exactly the same user experience.
There are currently no FAQs about Create a Sliding Tabbed Panel with jQuery and Dreamweaver.