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

Hiding and showing elements

From: Dreamweaver CS5 Essential Training

Video: Hiding and showing elements

One of the most common interactive page elements is the ubiquitous image rollover. Dreamweaver's Swap Image behavior allows us to create image rollovers by selecting an image and choosing which image to replace it with when that image is interacted with. While this is normally used for image-based links, the Swap Image behavior is flexible enough to allow for some pretty cool creative exploration. In this movie, we're going to create an image gallery that relies on the Swap Image behavior to change a larger image when a thumbnail is selected.

Hiding and showing elements

One of the most common interactive page elements is the ubiquitous image rollover. Dreamweaver's Swap Image behavior allows us to create image rollovers by selecting an image and choosing which image to replace it with when that image is interacted with. While this is normally used for image-based links, the Swap Image behavior is flexible enough to allow for some pretty cool creative exploration. In this movie, we're going to create an image gallery that relies on the Swap Image behavior to change a larger image when a thumbnail is selected.

This behavior is often called a disjointed rollover, where interacting with one image causes another image on the page to change. So I have the gallery.htm file open. If I scroll down it looks like our gallery is already finished. Well the layout is finished, so the CSS is finished and the structure of the gallery is put together. However, it is currently static, meaning if that we interact with it at all, nothing really happens. So our gallery is for the most part finished. We just need to add the interactivity now.

So the first thing I am going to do is go through a name all of my images. Anytime that you are going to have JavaScript interact with elements on the page, those elements need to have an ID or a name attribute. So what I am going to do is go up to my default large photo and click on that, and looking in my Properties Inspector I can see in the upper left-hand corner a space for ID. So I am going to select that and then I am going to type in photoLarge. All one word, photoLarge, lowercase p, uppercase L. Now not only does naming this image, allow us to control it through the use of JavaScript, but it's going to make it a lot easier for us to work with these images once we get in the Swap Image behavior as well and you'll see what I'm talking about in just a moment.

Next I am going to click on each of the thumbnails and one at a time, I am just going to call them thumb number one, thumb2, remember all one word, no spaces here, thumb3 and finally thumb4. So any time you're doing any type of an image rollover or Swap Image behavior, that's really step number one. You go in select the images that you want to affect and make sure that you give them a unique name. So all those names have to be unique. We could have just set thumbs for example for the thumbnails.

Okay, I am going to go ahead and select the first thumbnail image. This is the Golden Gate Bridge and although the larger Golden Gate Bridge photo is currently open, if somebody we're interacting with the other thumbnails, obviously we want to be able to bring that one back. So I am going to select that, I'll go over to my Behaviors panel. Now again, if you can't find your Behaviors panel, go up to Window and choose Behaviors. I am going to grab the plus symbol and I am going to go down to Swap Image right there. As Swap Image comes up, the wisdom of naming this image becomes readily apparent to us.

Notice that if we don't name them, they are just called unnamed and there is no way for us to know who is who. Now we don't want to swap the thumbnail image out. We want to change the larger photo. So I am going to make sure, I highlight image "photoLarge" and then all I have to do is browse it to the photo that I want to use. So I am going to select Browse, I am going to go into _images, and inside that we have a folder called gallery_interact. I am going to open that up and there are all my photos. Now I am going to change this to a detail view, because it's just going to be a little bit easier for me to scroll through this.

I am looking for this bridge_ large.jpg. So bridge_large. When I find that I am going to click OK and I am tempted to go and click OK again, but I have got a couple of other options here I need to talk about first. The first one is preload images. Anytime you are doing a Swap Image behavior, I recommend going ahead and preloading those images on the page. It'll prevent any type of image flicker when you rolled over image for the first time, or when you select an image for the first time. However, do be aware that preloading images means that all of the images in your gallery are going to be loaded as the page loads.

If you have a large image gallery, then that can dramatically slow down your page load time. I also want to deselect Restore images onMouseOut. When I mouse over the thumbnail and click on it, I want the image to show up. I don't want to bring the other image back once I mouse off of the thumbnail. I want that image to persist. So that's good. I am going to go ahead and click OK and I can see in my Tag Inspector there is my Swap Image behavior. Now notice that for the Swap Image behavior, the default action for that is onMouseOver. So somebody rolling over this thumbnail, for example, with the mouse.

That's not what we want. We want this image to only load if somebody clicks on the thumbnail. So I am going to grab that pull down menu right there and I am going to choose onClick. So now my behaviors says onClick, Swap Image and that is all there is to that. It is really that simple. I am going to go through each image and just repeat that process. So I am going to select the olives, grab the pulldown menu and choose Swap Image. Again, be very careful and make sure you're selecting image "photoLarge." We don't want to swap out the thumbnails.

For this one I am going to set the source to olive_large and again I am going to remember deselect Restore images onMouseOut. After I click OK, I am going to remember to change the action to onClick. I'll do the bird next. We'll go and select that, do Swap Image, again making sure that we are doing photoLarge, I am going to browse and find the bird_large, I am going to turn off Restore images onMouseOut and click OK, and then finally change onMouseOver to onClick.

You can get into a rhythm doing this, but it's also sometimes dangerous, because you get into that rhythm and you just start clicking and you kind of forget what you're doing. Your mind starts to wander if you have a lot of these thumbnails. So take your time, go slowly and focus. You want to make sure you going to get this right the first time. Let me go ahead and select the oranges thumbnail. Once again I am going to grab the pull-down menu and choose Swap Image, photoLarge, Browse and I want to do the oranges_large, click OK, turn off Restore images onMouseOut, and change that to onClick.

Now as I mentioned, you want to make sure you get this right the first time, but that's really just to save yourself the time and effort of having to go back and do it again. The nice thing about these behaviors is that once you set them, you can go back and edit them at any time. So if you do get one wrong, don't feel like you have to start this project all over again,. You can simply click to thumbnail, come over and double-click the Behavior itself and change anything that you need to change. Notice that there is a little asterisk beside photoLarge. That's telling you who is swapping out. You could swap out multiples if you wanted to, but if you saw that asterisk beside the thumbnail, you'd know something was wrong and you would just want to remove that and set it back for photoLarge.

Same thing for the trigger action. At anytime you can come and click that and choose any other action that you'd want. Now I am going to go ahead and save this file, and I am going to preview this in my browser. If I scroll down into the gallery now, as I click on these different thumbnails, my images are loading and I'm getting the image I expect. Awesome. Now the gallery's basic functionality is for the most part finished, but I want to point out something about these images. Notice that if you mouse over the image, your cursor doesn't change. it just stays as that arrow.

That's really not helping the user out at all. If somebody were just to browse over these thumbnails, they might think that they wouldn't be clickable because they're not getting any feedback from the browser. So what we are going to do next is go in to make a very simple change to the CSS. This is going to help us set some user expectations about these thumbnails. So I am going to close my browser and go back into Dreamweaver. Now anytime you're trying to access the CSS that's in a fairly complex section of code, the easiest way to do is through the Code Navigator. So what I am going to do is hold down my Alt key and if you are on the Mac you can hold down your Option and Command key and I am going to click on one of the thumbnails.

It does not matter which one. You'll notice that we have a rule that says #mainContent #photoGallery.thumb space img. So there's the image tag. That's we were looking for. I am going to go ahead and click on that and it's going to open that up in Split View. Now I am just going to hand code this, because this is incredibly easy to do. So go find this rule. Notice it's online 862 of the main CSS. I am just going to create a blank line at the end of this, making sure that I am staying inside of this curly braces, and I am going to type in cursor:pointer.

Pointer is going to give us that hand and it's going to let people know that hey you can interact to these elements. So I'll go ahead and save that, test that again, and now as I scroll down, now I'm getting some feedback that yes these items are clickable and that's going to lead to a much nicer gallery experience for your viewers. The Swap Image behavior just saved as a ton of time, did it not, and even better it wrote all of the JavaScript necessary for our disjointed rollover so that we didn't have to. If I go back into Dreamweaver, flip over to Source Code, click on one of these thumbnails and switch to Source Code, you can see what I'm talking about.

You've got all the onClick="MM_ swapimages" and if we scroll up, we even have more JavaScript added to the head of our document. So I think it's pretty easy to see that using behaviors you can create complex user interactions for your site without ever having to write the first line of code yourself.

Show transcript

This video is part of

Image for Dreamweaver CS5 Essential Training
Dreamweaver CS5 Essential Training

135 video lessons · 89126 viewers

James Williamson

Expand all | Collapse all
  1. 2m 57s
    1. Welcome
      1m 8s
    2. Using the exercise files
      1m 49s
  2. 7m 50s
    1. What is Dreamweaver?
      3m 16s
    2. Learning web design
      2m 22s
    3. Current web standards
      2m 12s
  3. 43m 9s
    1. The Welcome screen
      4m 5s
    2. Windows and Mac interface differences
      2m 23s
    3. The Application toolbar
      4m 7s
    4. The Document toolbar
      4m 40s
    5. Arranging panels
      8m 19s
    6. Managing workspaces
      7m 32s
    7. The Properties Inspector
      5m 54s
    8. The Insert panel
      6m 9s
  4. 25m 45s
    1. Basic site structure
      3m 11s
    2. File naming conventions
      1m 49s
    3. Defining a new site
      4m 35s
    4. Managing sites
      4m 51s
    5. Managing files and folders
      6m 36s
    6. Working with browsers
      4m 43s
  5. 27m 21s
    1. Creating new documents
      5m 16s
    2. New document preferences
      3m 6s
    3. Setting accessibility preferences
      4m 56s
    4. Working with starter pages
      3m 46s
    5. Managing starter pages
      10m 17s
  6. 30m 2s
    1. Basic tag structure
      2m 15s
    2. Adding structure to text
      8m 20s
    3. Creating lists
      9m 59s
    4. Getting text into Dreamweaver
      5m 59s
    5. Importing Word documents
      3m 29s
  7. 1h 17m
    1. Understanding style sheets
      2m 16s
    2. The anatomy of a CSS rule
      1m 48s
    3. Setting CSS preferences
      6m 36s
    4. The CSS Styles panel
      10m 2s
    5. Controlling CSS through the Properties Inspector
      5m 14s
    6. Using the Code Navigator
      7m 21s
    7. Using CSS Enable
      6m 45s
    8. Understanding element selectors
      8m 11s
    9. Understanding class selectors
      8m 49s
    10. Understanding ID selectors
      5m 59s
    11. Understanding descendant selectors
      6m 51s
    12. Attaching external style sheets
      7m 44s
  8. 1h 47m
    1. Working with units of measurement
      7m 11s
    2. Declaring font families
      9m 39s
    3. Controlling font sizing
      9m 9s
    4. Controlling weight and style
      8m 0s
    5. Controlling line height
      8m 29s
    6. Controlling vertical spacing with margins
      12m 3s
    7. Controlling spacing with padding
      5m 39s
    8. Aligning text
      8m 26s
    9. Transforming text
      5m 36s
    10. Writing global styles
      15m 42s
    11. Writing targeted styles
      17m 37s
  9. 1h 32m
    1. Understanding image types
      5m 3s
    2. Managing assets in Dreamweaver
      12m 51s
    3. Setting image accessibility preferences
      4m 20s
    4. Setting external image editing preferences
      3m 52s
    5. Placing images on the page
      7m 37s
    6. Photoshop integration
      5m 54s
    7. Modifying Smart Objects
      5m 51s
    8. Alternate Photoshop workflows
      8m 8s
    9. Modifying image properties
      11m 14s
    10. Styling images with CSS
      7m 11s
    11. Using background graphics
      9m 3s
    12. Positioning background graphics
      11m 6s
  10. 55m 16s
    1. Link basics
      3m 37s
    2. Setting site linking preferences
      2m 14s
    3. Creating links in Dreamweaver
      11m 1s
    4. Absolute links
      5m 8s
    5. Using named anchors
      11m 19s
    6. Linking to named anchors in external files
      2m 44s
    7. Creating an email link
      5m 24s
    8. Creating CSS-based rollovers
      13m 49s
  11. 1h 34m
    1. CSS structuring basics
      2m 56s
    2. The Box Model
      13m 21s
    3. Understanding floats
      6m 53s
    4. Clearing and containing floats
      8m 56s
    5. Using relative positioning
      4m 8s
    6. Using absolute positioning
      7m 18s
    7. Creating structure with div tags
      12m 7s
    8. Styling basic structure
      10m 34s
    9. Creating a two-column layout
      10m 37s
    10. Using Live View and CSS Inspect
      7m 51s
    11. Using Browser Lab
      9m 39s
  12. 56m 22s
    1. Reviewing table structure
      7m 41s
    2. Importing tabular data
      5m 13s
    3. Creating accessible tables
      9m 56s
    4. Using thead and tbody tags
      4m 0s
    5. Basic table styling
      8m 45s
    6. Styling table headers
      7m 52s
    7. Styling column groups
      4m 22s
    8. Creating custom table borders
      5m 1s
    9. Styling table captions
      3m 32s
  13. 1h 43m
    1. How forms work
      3m 0s
    2. Reviewing form design
      3m 2s
    3. Creating accessible forms
      7m 33s
    4. Setting form properties
      4m 6s
    5. The fieldset and legend tags
      4m 32s
    6. Inserting text fields
      5m 58s
    7. Inserting list menu items
      5m 26s
    8. Inserting checkboxes
      7m 50s
    9. Inserting radio button groups
      6m 22s
    10. Inserting text areas
      4m 12s
    11. Inserting submit buttons
      3m 37s
    12. Basic form styling
      12m 0s
    13. Form element styling
      8m 52s
    14. Styling form layout
      11m 49s
    15. Adding form interactivity
      2m 47s
    16. Using Spry validation widgets
      12m 49s
  14. 1h 23m
    1. Planning for templates
      10m 51s
    2. Creating a new template
      10m 37s
    3. Using editable attributes
      13m 43s
    4. Creating optional regions
      6m 23s
    5. Creating new pages from a template
      9m 17s
    6. Applying templates to existing pages
      6m 9s
    7. Working with nested templates
      7m 56s
    8. Working with repeating regions
      12m 58s
    9. Modifying templates
      5m 41s
  15. 40m 14s
    1. Behaviors overview
      3m 47s
    2. Hiding and showing elements
      9m 18s
    3. Spry overview
      4m 4s
    4. Using Spry widgets
      11m 36s
    5. Adding Spry effects
      3m 6s
    6. Using the Widget Browser
      8m 23s
  16. 28m 18s
    1. Inserting Flash files
      5m 4s
    2. Setting properties for Flash
      6m 27s
    3. Dreamweaver and Flash integration
      6m 6s
    4. Encoding Flash video
      6m 10s
    5. Adding Flash video
      4m 31s
  17. 45m 28s
    1. Running site-wide reports
      6m 33s
    2. Checking for broken links
      5m 41s
    3. Checking for browser compatibility
      8m 3s
    4. Adding remote servers
      8m 0s
    5. Uploading files
      7m 20s
    6. Managing remote sites
      9m 51s
  18. 34s
    1. Goodbye

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
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.

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 Already a member? Log in

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


You have completed Dreamweaver CS5 Essential Training.

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

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 preferences from 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?


Your file was successfully uploaded.

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.