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

ポイントは、クリック可能な行、異なる色の奇数行と偶数行、およびマウスオーバー時に 3 番目の色が表示されるテーブルを作成することです。問題はコードのサイクル部分にあります。class ="<%= cycle('odd', 'even') %>"にサイクルを 1 つだけ配置すると、すべて正常に動作します。奇数行と偶数行があります。さまざまな色ですが、マウスを動かしてから外に出すと、クラス値はまだ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) %>'" >  

で、ここで問題!サイクルのそれぞれが機能しなくなり、サイクルの2つのパラメーターの最初のクラスとして常にクラスが設定されます。何か案が?多分バグ?それともブラウザの非互換性ですか?これをChromeで機能させる必要があります。提案をありがとう

4

1 に答える 1

0

を呼び出すたびにcycle、クラス名が切り替わります。この行には2つの呼び出しがありodd、1つと2番目の値になりevenます。

current_cycle2番目の呼び出し(onmouseout)で使用する必要があります。

于 2010-10-28T13:34:08.470 に答える