Rollover effects are easily achieved using HTML and CSS. I do them all the time. They're lighter-weight, search engine friendly and a snap to do.
You can define background behaviours for the 4 pseudo classes using CSS.
They are:
:link
:visited
:hover
:active
Each can have a separate background defined. Presto up to a 4 state roll over effect if you want. Here's some code grabbed from my own
business site.
Code:
#mainMenu div{
float:right;
}
#mainMenu ul{
float:right;
margin:0 4em;
}
#mainMenu li{
float: left;
list-style:none;
width:6em;
}
#mainMenu a{
display: block;
height: 40px;
border-right: 1px solid #D1BF6A;
padding: 5px 0;
text-align:center;
}
#mainMenu a:hover{
background: url(images/mainMenuHover.png) repeat-x;
color: #7A525E;
}
There is some trickiness. MSIE 5 & 6, of course, only support pseudo classes on the A tag (e.g., a:hover). This means you'll need to assign them to your link tags. You'll also need to define the A tag's display property as block so that it will take on some dimension (height & width) in order to make your "button." Anchor tags, by definition, are in-line tags and have no height or width, so you need to change that with the display attribute in order to customize the dimensions of the link tag.
You can see an example of a 3-state version in action at
this site.