0

我的 index.html 中有这段代码:

<div id="users-list">
<tr class="<%= cycle('odd', 'even') %>" onmouseover="this.className='over';" onclick="location.href='<%= user_path(user) %>'" >

<td><%= user.surname %></td>
<td><%= user.name %></td>

</tr>
</div>  

作为表格的一部分,以及相关的 css:

#users-list  .odd {
    background: #00ffff;
}

#users-list .even {
    background: #ffffff;
}

#users-list .over {
    background: #00ccff;
}  

关键是要制作一个带有可点击行的表格,带有不同颜色的奇数行和偶数行,当鼠标悬停时,它们会获得第三种颜色。问题出在代码的循环部分,如果我在class="<%= cycle('odd', 'even') %>"中只放一个循环,一切正常,我有奇数行和偶数行不同的颜色,但是当我过去然后用鼠标退出时,类值仍然是由onmouseover="this.className='over';"设置的值 . 所以我决定使用onmouseout="this.className='<%= cycle('odd', 'even')%>';" 像这样:

<tr class="<%= cycle('odd', 'even') %>" onmouseover="this.className='over';" onmouseout="this.className='<%= cycle('odd', 'even')%>';" onclick="location.href='<%= user_path(user) %>'" >  

这就是问题所在!每个循环都停止工作,并且我始终将类设置为循环中两个参数中的第一个。任何的想法?也许是一个错误?还是浏览器不兼容?我需要在 Chrome 上完成这项工作。感谢大家的任何建议

4

1 回答 1

0

每次调用都会cycle切换类名。您在此行中有 2 个调用,这将导致odd一个值和even第二个值。

您应该current_cycle在第二次调用(onmouseout)中使用。

于 2010-10-28T13:34:08.470 回答