We launched a new IT training category! Check out the 140+ courses now.

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

Animating the caption based on the amount of content

From: Create an Interactive Homepage Marquee with jQuery and Dreamweaver

Video: Animating the caption based on the amount of content

Now at this point, we need to write a custom function called setCaption. So if we take a look back at an animated version of our sketch, what happens on our marquee is, as we select individual items, our photos, the entire photostrip, will slide back and forth. The caption will slide down, have its content change, and then slide back up. When we slide this down, we always know that we have to go down to 340 pixels. We have to slide up based on how much content is inside of the caption. So to accommodate for varying heights of different captions, we need to make a calculation on the total height and then slide it up once we have figured out what that height is.

Animating the caption based on the amount of content

Now at this point, we need to write a custom function called setCaption. So if we take a look back at an animated version of our sketch, what happens on our marquee is, as we select individual items, our photos, the entire photostrip, will slide back and forth. The caption will slide down, have its content change, and then slide back up. When we slide this down, we always know that we have to go down to 340 pixels. We have to slide up based on how much content is inside of the caption. So to accommodate for varying heights of different captions, we need to make a calculation on the total height and then slide it up once we have figured out what that height is.

Back in our JavaScript file, in our setCaption, we're going to make those calculations inside of a separated function, so that we can always run that independent of the navClick event. So back in out JavaScript file here, let's scroll down. What I want to do is get rid of some of the negative space inside of my script, and what we're going to do is come outside of the (document).ready. So all of the scripts that we have run so far are inside of (document).ready. I am going to add a few returns, and completely outside of the (document).ready area, we're going to write our own custom function.

So we're going to start by typing 'function'. Then we're going to type setCaption(){}. We're going to split the bracket. I am just going to put a few returns at the end of the document. Now inside of this function, the first thing we're going to do is set a few variables. var captionHeight.

This is going to be equal to, like a jQuery statement, $('.marquee_caption') .height(); The next line, var marqueeHeight = $(' .marquee_ container') .height();, so we get the height of the caption and the height of the container that it's inside of. Next line, var newCaptionHeight.

This is going to equal, go up here and copy marqueeHeight, paste that, minus, let's grab the captionHeight, Command+C or Ctrl+C to copy, Command+V or Ctrl+V to paste. Then we're going to subtract an additional 15 from that to give us the extra padding we need, so that the anchor link at the bottom of our caption doesn't touch the bottom of the photograph. Let's do a semicolon.

Now we're ready to actually apply this animation to the caption. So the caption is in its down state because up here we animated it. Set the top to 340, so it moved down. We changed all the HTML values, changed the HTML content, and then we're running this function. This function is going to run and then once it's done, we need to reset, or animate, the caption back up. So we're going to do $('.marquee_caption'), make sure it starts with a period, .marquee_caption.

I am going to put a delay, .delay. I'll set a delay of 100 text at 10th of a second to give the browser a chance to change all the HTML, .animate();. Inside of animate, I am going to type two brackets. Inside of the brackets, we're going to type top space.

We're going to set the top to the newCaptionHeight. Let's copy newCaptionHeight, paste it in. Outside of the bracket , 500 ticks. So again the first part of this, up here on line 32, we'll animate this down, change all the data, run the setCaption function. We're going to make the calculations here based on the height of the caption itself in the container, set the newCaptionHeight based on the container, plus the current captionHeight after we have changed the HTML, and then we're going to add 15 additional pixels for padding.

Then we're going to animate the new top value to the newCaptionHeight. Let's choose File > Save. Let's go test it in a browser. Let's come over to our operating system. Let's double-click index.html to open it in a browser. Let's hit Reload. Now when I come over here and click on one of the buttons, the photo moves, the caption moves down, it changes the HTML, and then slides back up. And the amount of time it takes the photos to slide back and forth is the amount of time it takes the caption to go down, change, and move back up.

One thing you will notice, when I hit Reload, this is the initial state. We need to move this top down a little bit. I think I said 310 earlier, which should be 340, but in addition, the marquee hasn't been changed. We're only changing the marquee after we've clicked on an event. This changes the different states of the marquee. So what we want to do in the next movie is create a function which will allow us to initiate the marquee when it loads. So as soon as it comes up, it will automatically go to its first frame and initiate all the same functions we're putting in on the anchor tags as well.

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

Congratulations

You have completed Create an Interactive Homepage Marquee with jQuery and Dreamweaver.

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

No

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.