If someone asks you to list InDesign’s basic building blocks, you might respond frames (which can include text or graphics or nothing at all) and lines. But there’s a third type of object, too: a button. Buttons are only useful in interactive PDF or SWF files, but they can do all kinds of things—jump to another page, play a movie or sound, or hide or show another button.
You can make any selected frame or line into a button (except for frames that contain movies or sounds)—just choose Convert to Button from the Interactive submenu, under the Object menu or in the Context menu. Or, click the Convert Object to a Button button in the Buttons panel (which you can find in the Interactive submenu, under the Window menu). You can also turn a button back into an object by selecting Convert from Button.
An object turned into a button acts like any other object—you can even print it. But the object comes to life when you turn on the Interactive Elements check box in the Export PDF dialog box, or the Include Buttons checkbox in the Export SWF dialog box.
The Way of Buttons
It’s important to remember that buttons are containers, like a special kind of frame. When you turn an object into a button, InDesign actually puts that object inside a button “frame.” This means you can select that nested frame (with the Direct Selection tool or by clicking the Select Content button in the Control panel), move it around, delete it, replace it with something else, and so on.
To make a button actually do something—react when the user clicks it—you have to change the button’s behavior in the Buttons panel (see Figure 13-4).
Figure 13.4 Adding Behaviors to a Button
- Give the button a descriptive name at the top of the panel.
- Buttons are a kind of “field” (in PDF parlance), and you have four options for a field’s visibility: Visible, Hidden, Visible but Doesn’t Print, or Hidden but Printable. The default is Visible; you can change the option in the Buttons panel menu.
- Choose a trigger from the Event pop-up menu: On Release (that’s when the user lets go of the mouse button), On Click (when the mouse button is down), On Roll Over (when the cursor is above the button), On Roll Off (when the cursor leaves the button), On Focus (when the button is selected—either by a click or by a press of the Tab key), or On Blur (when a click or press of the Tab key moves the focus to another field).
- Select one of the actions you want to associate with the Event from the Actions pop-up menu.
Why have an invisible button? Don’t think of buttons as just something you click; if you want a picture to appear when you click a button, you make two buttons: a visible one that you click and one that has a picture in it (set to Hidden).
Most of your buttons will either be Visible or Hidden. Occasionally, Visible but Doesn’t Print can be useful—you could use it for something like a “Submit” button that you want to have appear on the screen, but not on the printed page. The Hidden but Printable option is really odd—it means that the object is invisible on screen, but shows up when you print. You might use this for special information that is only relevant for a hardcopy version of a page.
- Close. This closes the current PDF file.
- Exit. This quits the viewer (Acrobat).
- Go to Anchor. If you have used the Hyperlinks panel to make a text anchor in this or any other document, you can jump to that point with this action. If the InDesign document that contains the anchor isn’t open, you can click Browse to select it.
- Go to page. The first four “Go to” actions work in PDF and SWF files: First page, Last page (the final page of the PDF document), Previous page (the page before the current one), and Next page (the page following this one). For example, you might assign these as navigation buttons, and put them on a master page of a document. Buttons work well on master pages because they appear on every document page tagged with that master. The fifth option, Go to Page (which jumps directly the page number you specify), only works when exported in a SWF file. If you want to jump to a particular page in a PDF file, you need to use Go to Anchor.
- Go to Previous View. This action returns to the last page the viewer displayed. If you jump from page 5 to page 20, Go to Previous View would jump back to page 5.
- Go to Next View. This action only works if someone has already invoked a “Previous page” action; it’s like the Forward feature in a Web browser.
- Go to URL. Like a URL hyperlink, the Go to URL action hands off the URL you specify to the default Web browser. This can be any URL, including http://, file://, or mailto:.
- Movie. If you have placed a movie or animation file (see “Audio and Video,” later), you can control it using the Movie action. After selecting Movie, select a movie, and then specify what you want to do to it: Play, Pause, Stop, or Resume.
- Open File. Use this action to open another file. You need to specify the file using an absolute file path; it’s much simpler to click the Browse button to let InDesign figure out the path for you.
- Show/Hide Buttons. While Acrobat has several different kinds of fields (such as text entry fields, check box fields, and so on), InDesign currently supports only button fields. Whenever you want objects to appear or disappear on your page, make them into buttons. Even if those buttons have no behavior of their own, they can still be controlled (made visible or hidden) using the Show/Hide Buttons action. When you select Show/Hide Buttons, the panel lists all the fields (buttons) in your document (not just the fields on the current page). You can click once in the box to the left of the field name to make the button visible (you’ll see a little eyeball), or click again to make the button hidden (InDesign draws a red line through the eyeball). Click a third time to make it neutral (this action won’t affect the button at all).
- Sound. After you import a sound file into your document, you can Play, Pause, Stop, or Resume it with this action.
- View Zoom. A button can control the current view settings in Acrobat. After selecting the View Zoom behavior, choose from among the many options in the Zoom pop-up menu, including Zoom In, Zoom Out, Fit in Window, Rotate Clockwise, and Single Page.
After creating an action, you can select another Event/Action combination and add it to the button. This means one button click can do a bunch of things at once: go to another page, show a hidden object on that page, and immediately start playing a movie. To remove an action, select it and click the Delete Action button.
When you open a PDF in Acrobat and press the Tab key, the focus jumps to the first field on the page; press Tab again, and it skips to the next field. If the field is a button, you can press Return/Enter to “click” the button. But who specifies the order of the buttons? You do. As long as you have more than one button on a page, you can choose Set Tab Order from the Interactive submenu (under the Object menu). To reorder a field in the list, select it and click the Move Up or Move Down buttons—or better, just drag it into the correct position.
Rollovers and States
Multimedia designers love rollovers. A rollover is an image on an interactive page (like a PDF or a SWF) that changes in some way when the user moves the cursor over it. The rollover may appear to change color or shape; or maybe it lights up to indicate that it’s a hotspot. When you move the cursor away, the image returns to its original form. InDesign supports both normal rollovers and two-state buttons (buttons that change when you click on them). It also lets you make “two position” rollovers—where you roll over a button and an image changes somewhere else on the page.
We use the term “image,” but rollovers can involve text or lines as easily as images; it’s up to you. However, if you are using images, you need to create the graphics for each state of the rollover: the original image on the page (the “off” state), and the image you see when the cursor is over the image (the “on” state).
Remember that buttons are just containers, typically with objects nested in them—a text frame, a graphic frame, a line, or even a group of objects. The Buttons panel gives you a way to change the content of a button container depending on two events: the user moving the cursor over the button or clicking on it.
It’s easy to add and change states (see Figure 13-5):
- Select the button and the Buttons panel. (You can open this panel if it’s not visible by double-clicking the button).
- To add a Rollover state, click the [Rollover] tile in the State Appearance section of the Buttons panel. If you want to add a Down state, click the [Click] tile. If you later decide you don’t want a state, select it and click the Delete button at the bottom of the panel.
- Click the state you want to alter, and then, on the document page, make a change to the content of the button. Let’s say you have a button with a picture in it. You can click on the Rollover state, and replace the picture with a different one (just the way you normally would; with the File > Place command). Or, you could make the current picture rotate ten degrees when you roll over it by selecting the graphic frame (the one nested inside the button) and rotating it.
- You can test the states by exporting a PDF or SWF and viewing it in Acrobat, your Web browser, or Flash Player, or—the cheesy quick version—by clicking back and forth among the states in the panel. If the little thumbnails in the panel aren’t big enough, you can make them larger or smaller by choosing Panel Options from the panel menu.
Basically, each state actually contains a different object and the Buttons panel gives you a way to make each one visible—one at a time—almost like the Conditional Text panel. So you can add a drop shadow to the object inside the Rollover state and when you switch back to the Normal state, the drop shadow disappears.
Figure 3.5 Creating Rollovers
Making a rollover that affects objects elsewhere on the page involves creating a set of actions: Convert all of the relevant objects to buttons and then use the On Roll Over and On Roll Off events to make those objects Visible or Hidden at the appropriate time(s). You could, for example, have one button that, when rolled over, makes two other buttons visble.