I was trying to implement some rollover effects when I stumbled over this article at mandarindesign. I wrapped this functionality in the helper here after
The css
1
2
3
4
5
6
|
<style type="text/css">
<!--
div.transOFF {width: 100%; background-color: silver; border:1px solid black;}
div.transON {width: 100%; background-color: silver;opacity:.50;filter: alpha(opacity=50); -moz-opacity: 0.5; }
-->
</style>
1
2
3
4
5
6
|
<style type="text/css">
<!—
div.transOFF {width: 100%; background-color: silver; border:1px solid black;}
div.transON {width: 100%; background-color: silver;opacity:.50;filter: alpha(opacity=50); moz-opacity: 0.5; }
->
</style> |
The rhtml template
1
2
3
4
5
6
7
8
9
10
11
12
|
<table width="200" border="0" style="border:1px solid black;">
<tr>
<td>Project</td>
<td>Dashboard</td>
<td>Charts</td>
</tr>
<tr>
<td><%= rollover_image('/images/index/project_icon.png', true) %></td>
<td><%= rollover_image('/images/index/dashboard_icon.png') %></td>
<td><%= rollover_image('/images/index/graph_icon.png') %></td>
</tr>
</table>
1
2
3
4
5
6
7
8
9
10
11
12
|
<table width="200" border="0" style="border:1px solid black;">
<tr>
<td>Project</td>
<td>Dashboard</td>
<td>Charts</td>
</tr>
<tr>
<td><%= rollover_image(‘/images/index/project_icon.png’, true) ></td>
<td><= rollover_image(‘/images/index/dashboard_icon.png’) ></td>
<td><= rollover_image(‘/images/index/graph_icon.png’) %></td>
</tr>
</table>
|
The Helper
1
2
3
4
5
6
7
8
|
def rollover_image(src, over=false)
transON, transOFF = over ? ['transOFF', 'transON'] : ['transON', 'transOFF']
content_tag "div",
image_tag(src, :onmouseover => "this.className='#{transOFF}'", :onmouseout => "this.className='#{transON}'" ),
:class => transON,
:onmouseover => "this.className='#{transOFF}'",
:onmouseout => "this.className='#{transON}'"
end
1
2
3
4
5
6
7
8
|
def rollover_image(src, over=false)
transON, transOFF = over ? [‘transOFF’, ‘transON’] : [‘transON’, ‘transOFF’]
content_tag "div",
image_tag(src, :onmouseover => "this.className=‘#{transOFF}’", :onmouseout => "this.className=‘#{transON}’" ),
:class => transON,
:onmouseover => "this.className=‘#{transOFF}’",
:onmouseout => "this.className=‘#{transON}’"
end |
|
|
|