Start learning with our library of video tutorials taught by experts. Get started

Dreamweaver CS3 Beyond the Basics
Illustration by

Controlling Spry widget behaviors with JavaScript


From:

Dreamweaver CS3 Beyond the Basics

with James Williamson

Video: Controlling Spry widget behaviors with JavaScript

Welcome back to our Accordion widget exercises. Now, other than adding or deleting panels, Dreamweaver doesn't give us a lot of options to control how our Accordion widget behaves. So in this exercise, we'll change our panel heights to reflect the actual content inside and change which panel displays by default. So just to review really quickly, we'll go ahead and preview this in the browser again, and I'll scroll down. Notice that the Image panel loads first, and then the Painting Information loads and A Note from the Artist loads. Well, they are all of the same height and we passed that in through cascading style sheets in the last exercise. So they are all exactly 250 pixels tall. Well, that's way too tall for the Painting Information. It's just about right for the Note from the Artist, but the image, not even close.
Expand all | Collapse all
  1. 2m 3s
    1. Welcome
      1m 17s
    2. Using the exercise files
      46s
  2. 1h 23m
    1. Reviewing the Coding toolbar
      8m 42s
    2. Customizing the Coding toolbar
      9m 52s
    3. Taking advantage of Code Hinting
      7m 20s
    4. Using snippets and shortcuts
      11m 10s
    5. Using the Quick Tag Editor
      5m 18s
    6. Using Find and Replace
      9m 50s
    7. Regular expressions
      5m 39s
    8. Using Bridge with Dreamweaver CS3
      8m 28s
    9. Round-trip editing with Photoshop CS3
      3m 40s
    10. Leveraging image variables in Photoshop CS3
      7m 32s
    11. Integrating external variables into your workflow
      6m 16s
  3. 37m 26s
    1. Understanding the CSS Styles panel
      7m 59s
    2. Understanding the Cascade
      5m 50s
    3. Understanding Inheritance
      5m 8s
    4. Understanding Specificity
      7m 5s
    5. Managing CSS styles
      5m 4s
    6. Using Design-Time style sheets
      6m 20s
  4. 2h 19m
    1. Using the new CSS template pages
      5m 59s
    2. Understanding DIV tag structure and layout
      12m 0s
    3. Understanding the CSS box model
      10m 0s
    4. Using absolute and relative positioning
      8m 35s
    5. Understanding floating elements
      7m 9s
    6. Clearing floats
      7m 19s
    7. Using floats to control page layout
      3m 45s
    8. Building structure and assigning IDs
      10m 19s
    9. Applying basic styling to structured content
      11m 14s
    10. Positioning container elements
      11m 4s
    11. Enhancing layouts with background graphics
      11m 48s
    12. Creating faux columns with background graphics
      8m 55s
    13. Creating rounded corners with background graphics
      9m 17s
    14. Building navigation with CSS
      16m 57s
    15. Using Dreamweaver's Browser Check feature
      5m 31s
  5. 53m 22s
    1. Creating properly structured forms
      6m 30s
    2. Creating accessible forms
      6m 41s
    3. Using CSS to lay out form structure
      7m 40s
    4. Creating vertical columns for form elements
      7m 48s
    5. Adding user feedback
      5m 52s
    6. Applying advanced styling to forms
      8m 11s
    7. Client-side form validation
      4m 17s
    8. Validating forms with the Spry Validation tools
      6m 23s
  6. 1h 20m
    1. Understanding the Spry framework
      3m 43s
    2. Defining a data source for use in Spry
      3m 56s
    3. Creating a Spry table
      8m 8s
    4. Using the Spry widgets
      8m 11s
    5. Connecting various data sets
      4m 50s
    6. Understanding Spry widget structures
      7m 1s
    7. Applying custom styles to Spry widgets
      6m 24s
    8. Applying additional custom styles to Spry widgets
      8m 46s
    9. Controlling Spry widget behaviors with JavaScript
      6m 0s
    10. Controlling Spry widget animations with JavaScript
      9m 31s
    11. Creating effects with Spry behaviors
      4m 42s
    12. Hand-coding Spry
      9m 11s
  7. 1h 11m
    1. Creating a base template
      8m 6s
    2. Creating editable attributes
      6m 26s
    3. Creating a new page from a template
      7m 42s
    4. Applying a template to an existing page
      4m 36s
    5. Creating nested templates
      5m 24s
    6. Using repeating regions
      6m 34s
    7. Creating editable and non-editable optional regions
      6m 0s
    8. Using template parameters
      7m 26s
    9. Using template expressions
      9m 59s
    10. Using conditional template expressions
      8m 54s
  8. 54m 40s
    1. Examining XML structure
      2m 44s
    2. Creating an XML document
      9m 9s
    3. Using the CDATA structure
      5m 7s
    4. Creating an XSLT file
      4m 33s
    5. Binding data from an XML to an XSLT document
      5m 6s
    6. Inserting repeating regions into an XSL document
      5m 16s
    7. Creating a client-side XSL transformation
      2m 52s
    8. Styling a remote RSS feed
      7m 29s
    9. Creating a server-side XSL transformation
      5m 31s
    10. Writing XSL expressions
      6m 53s
  9. 1h 2m
    1. Overview of building dynamic websites
      1m 35s
    2. Installing PHP, MySQL, and Apache on Mac
      3m 22s
    3. Installing PHP, MySQL, and Apache on Windows
      3m 54s
    4. Creating a MySQL database
      3m 16s
    5. Defining a testing server and database bindings
      6m 14s
    6. Creating a database recordset
      4m 35s
    7. Adding dynamic content to the page
      5m 14s
    8. Creating repeating regions of dynamic content
      7m 6s
    9. Filtering database records
      7m 39s
    10. Using the Live Preview
      10m 22s
    11. Passing URL parameters
      4m 23s
    12. Dynamically generating links
      5m 18s
  10. 57m 9s
    1. Understanding behaviors
      5m 16s
    2. Installing additional behaviors
      3m 39s
    3. Planning to create a custom behavior
      3m 42s
    4. Examining existing behaviors
      5m 32s
    5. Building a behavior function
      7m 23s
    6. Creating an Action file
      6m 48s
    7. Enabling behavior functions
      9m 1s
    8. Initializing the user interface for a behavior
      3m 9s
    9. Loading behaviors in Dreamweaver
      6m 47s
    10. Testing and debugging behaviors
      5m 52s
  11. 27m 12s
    1. Running reports
      7m 41s
    2. Checking and validating links
      3m 40s
    3. Using cloaking
      5m 42s
    4. Using Check In/Check Out
      4m 3s
    5. Using Design Notes
      6m 6s
  12. 20s
    1. Goodbye
      20s

Watch this entire course now—plus get access to every course in the library. Each course includes high-quality videos taught by expert instructors.

Become a member
please wait ...
Dreamweaver CS3 Beyond the Basics
11h 10m Intermediate Sep 21, 2007

Viewers: in countries Watching now:

Covering diverse topics such as improving workflow and managing CSS styles, Dreamweaver CS3 Beyond the Basics is a hands-on course that teaches users how to move beyond standard, static websites. Instructor James Williamson explores how to increase productivity, interactivity, and accessibility with Dreamweaver. He also discusses how to extend the application's capabilities with XML and XSL. Exercise files accompany the tutorials.

Topics include:
  • Reviewing and customizing the coding toolbar
  • Understanding the CSS Styles panel
  • Using absolute and relative positioning
  • Creating accessible forms
  • Building AJAX pages with the Spry framework
  • Extending templates
  • Working with XML and XSL
  • Building dynamic content
  • Creating custom behaviors in Dreamweaver
  • Running reports
Subject:
Web
Software:
Dreamweaver
Author:
James Williamson

Controlling Spry widget behaviors with JavaScript

Welcome back to our Accordion widget exercises. Now, other than adding or deleting panels, Dreamweaver doesn't give us a lot of options to control how our Accordion widget behaves. So in this exercise, we'll change our panel heights to reflect the actual content inside and change which panel displays by default. So just to review really quickly, we'll go ahead and preview this in the browser again, and I'll scroll down. Notice that the Image panel loads first, and then the Painting Information loads and A Note from the Artist loads. Well, they are all of the same height and we passed that in through cascading style sheets in the last exercise. So they are all exactly 250 pixels tall. Well, that's way too tall for the Painting Information. It's just about right for the Note from the Artist, but the image, not even close.

So the image is actually getting clipped off because of the fact that the height is not tall enough for it. So that would seem to be a bit of a problem but if you know a little bit of JavaScript, you can edit the behaviors of any of the widgets that you are using, you just have to understand which variables are available to you. So let's close Firefox and go back into our current.htm. Now, before we go and edit this, I want to address some problem from the last exercise. Select the Image icon, make sure you are still in the current.htm exercise file and go into our Accordion and open up the first panel, the Image panel. Remember, if you need to know how to do that, you just click on the panel and a little visibility icon shows and you click on that to expand it.

Now click in the image. Now, if we look at the Tag Selector, we see that our image is actually surrounded by a paragraph tag and that's causing a bit of an issue. We made the image tag a block level element, and then assigned some padding to it. Well, it's wrapped up in a paragraph tag which is actually throwing additional padding on it, and that's causing the image to slide way too far over to the right. So, using the Tag Selector, I am simply going to either right-click or on a Mac, Ctrl- click on the Paragraph tag, and I am just going to choose Remove Tag and that will remove that extra bit of padding and now our image is going to show up exactly the way we need it to.

So we'll just save that. Now let's go in and pass a couple of parameters into our JavaScript function. First, we need to go find it. So, let's switch over to Code View and if you have completed the chapter1, Workflow exercise, your Coding toolbar is going to have this nifty little Go to Line icon on it and that's going to allow us to select that. And we're going to be able to type in Line 113, which happens to magically be the line that our constructor function is on. Now, if you don't have that icon, just scroll down to Line 113, and you'll find the constructor function. So anytime you place a widget on the page, you are going to find a similar bit of code and this is what this little bit of code is doing. We have a Script tag, identifying the content inside of it as JavaScript and we simply have what's known as a constructor function on Line 116. So let's talk about what this function is doing.

Here, we have a var keyword, which is then saying the name of our widget is going to be Accordion1. Then we're passing into JavaScript that we need a new.Spry.Widget.Accordion and we need the name of that to be Accordion1. So usually, the name of the variable and the name is the exact same thing but this is being passed into the constructor function to control the name of our Accordion. Well, there are other things that we can pass into the constructor function that change it as well. So we are going to go ahead and modify this section of code to change the height of our panels and to change which panel initially displays. Now to do that, we need to pass in some various arguments. So after Accordion1 is being passed into it, type in a comma, and because we are going to pass in multiple variables, we are going to use curly braces. So go ahead and open up a curly brace and inside that, you want to type in useFixedpanelHeights. Now, you'll notice code hinting comes up and it shows this a couple of variables that we can pass in: closedClass, hoverClass, openClass. That's the modifying of the classes that we talked about earlier, but we don't see useFixedpanelHeights. So although, it gives us a nice list of available variables, it's not complete.

So in the next exercise, we'll take a look at going into the actual JavaScript function itself, and finding which variables we can pass in. Now, we need to pass a value into this. So I am going to type in a colon, and then I am going to type in the word, false. So this is expecting a Boolean variable. So it's saying useFixedpanelHeights is equal to false. So what that's going to do for us is it's going to say ignore what the cascading style sheet is telling you, and go ahead and use the contents of the panel itself to determine the height. Now, I will type in a comma and then type in defaultpanel and you can see that one does come up with code hinting. So I can go ahead and select that one and we are going to pass panel number 2 into that and then we're going to close the curly brace.

Now before we test this, I want to mention something about the panel that we have just chosen here. To define the panels, the JavaScript function uses an array and all arrays start counting from 0. So by saying 2, we are actually saying we want the third panel to open. So the panel that will be initially opened is the note from the artist panel. Now that's going to do two things for us. First off, it's going to insure that people are going to read that note from the artist because that's something we want them to read instead of just looking at the images. But the second thing is this. On the PC in Firefox, when it loads up, if it doesn't pre-load the images fast enough, the descriptive text underneath it where the media and the data are being passed across will actually move up to occupy the space the image is in and then it won't move back down until it's refreshed.

So, there's a little bit of an error there. That when we test this, the text is hidden until somebody refreshes it. What this will do for us is it will make sure the image and the text is hidden first and to view it, somebody's going to click it, it will reset it, and they'll never see that problem. So we'll go ahead and save our file, test this in a browser. And as I scroll down, notice that A Note from the Artist is the first thing that opens up. If I click on the image, it expands to not only show the image but the text underneath it so it uses exactly the height it needs and then Painting Information animates into its place and uses just the height it needs. So, we can see that each of these panels has a variable height and that's a really neat effect.

So you can see how easy it is to modify the Accordion widget by passing JavaScript variables to the external function. In our next exercise, we'll go one step further in examining and modifying the actual Accordion widget JavaScript function.

Find answers to the most frequently asked questions about Dreamweaver CS3 Beyond the Basics.


Expand all | Collapse all
please wait ...
Q: In the Chapter 3 movie “Creating rounded corners with background graphics”, the instructor uses a .last class selector. What are the CSS properties of this selector?
A: The .last selector is as follows:
#current p.last{
background: url(../_images/current_btm_bg.gif) no-repeat bottom
left;
padding-bottom: 2em;
margin: 0;
}
The background is the bottom rounded corner graphic, the bottom padding keeps the type away from the bottom of the box and thus the rounded corners, and the margin ensures that the box elements fit seamlessly with each other.
 
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Upgrade now


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

join now Upgrade now

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Dreamweaver CS3 Beyond the Basics.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Notes cannot be added for locked videos.

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.