2012-02-22 5 views
-1

正しいクラスを維持したい:私は行の色のためにこれを使用して行が

echo"<tr class=\"normal\" onClick=\"this.className='normalselected'\" 
      onmouseover=\"this.className='normalon'\" 
      onmouseout=\"this.className='normal'\">\n"; 

それはあなたが上に移動するとき、私はそれが戻って行く別の行に移動する場合にのみ、あなたがクリックしたときに、それが動作動作します正常。

どうすれば変更できますか?

+2

エスケープ・オルガン、うんこ! PHP/HTMLで一重引用符を使用することもできますか?それ以外にも、JavaScriptを使用するのではなく、 ':hover' css擬似クラスを使ってホバースタイリングを行うべきです。 – ThiefMaster

+3

これはどのようにPHPの質問ですか?私はphpタグを削除するように編集し、javascriptを追加しました..大丈夫です。.. – mishu

+0

はいいいです:) –

答えて

1

これはonmouseout putが正常に戻ったためです。必要なのは、クリックしたときに覚えておくことです。これが「素敵」ソリューションではありませんが、それは私が真剣にCSSを使用して検討するものの、PHP

?> 
<script type="text/javascript"> 
    function handleClick(el){ 
     if (el.className == 'normal-clicked'){ 
      el.className = 'normal'; 
     } 
     else { 
      el.className = 'normal-clicked'; 
     } 
    } 
    function handleMouseOver(el){ 
     el.className = 'normal-over'; 
    } 
    function handleMouseOut(el){ 
     if (el.className == 'normal-over'){ 
      el.className = 'normal'; 
     } 
    } 
</script> 
<?php 
echo '<tr class="normal" onclick="handleClick(this);" onmouseover="handleMouseOver(this);" onmouseout="handleMouseOut(this);">', "\n"; 
1
echo "<tr class=\"normal\" onclick=\"this.className='normalselected'\" 
     onmouseover=\"if (!/normalselected/gi.test(this.className)) this.className='normalon'\" 
     onmouseout=\"if (!/normalselected/gi.test(this.className)) this.className='normal'\">\n"; 

.normal-clicked, 
.normal-over { 
    /* whatever needs to go here */ 
} 
.normal { 
    /* whatever needs to go here */ 
} 

次に、あなたのCSSのあなたは

をしたい何をすべきホバー、適切なイベントリスナーなどがあります。

1

あなたがこれを行った方法に同意しない場合でも、あなたの質問に答えてください:通常の選択されたクラスをmouseoutイベントで削除しています。これは正常です。あなたは..あなたが既に選択された行の上に再び来るときあなたはnormalonクラスを追加しないようにすることができますちょうどあなたのマウスアウトイベントハンドラも

if('normalon' == this.className) 

などの条件を追加することによって、それを防ぐことができますので、希望あなたのonmouseover属性に

if('normal' == this.className) 

ようなものを追加する必要があります..しかし、あなたがこの

のためのJavaScriptに固執することを計画している場合、あなたは本当にすべてのこれらの条件の代わりに関数を使用して検討すべきです
関連する問題