Ragnarök: Zeile selektieren

Hallo Zusammen,

ich habe ein Tabelle bei der die verschiedenen <tr>'s bei onmouseover ihre Hintergrundfarbe ändern. Mit onmouseout bekommen sie wieder ihre alte Farbe zugewiesen. Nun habe ich noch onclick eingebaut um eine Zeile zu markieren. Das Problem ist jetzt nur, dass die Zeile nur solange markiert ist, wie auch der Mauszeiger auf ihr ist. Wird die Maus bewegt, kommt gleicht onmouseout zum Zuge und die markierte Zeile hat wieder ihre alte Farbe.

Habt ihr eine Idee wie man dies kombinieren könnte? Das einersteits die <tr>'s ihre Farbe wechseln wenn man mit der Maus darüber fährt, bei einem Klick ihre Farbe jedoch behalten.

Hier noch ein Codeausschnitt:

<table width="100%" align="left" cellpadding="0" cellspacing="1" border="0" style= "cursor:pointer;" style="border-collapse:collapse">
  <tr class="test1" onmouseover="this.className='test';" onmouseout="this.className='test1';" onclick="this.className='test3';">
    <td width="25%"><a href="#" /><img SRC="D:/img/plus.gif" border="0" /></td>
    <td width="25%">a</td>
    <td width="25%">b</td>
    <td width="25%">c</td>
  </tr>
  <tr class="test1" onmouseover="this.className='test';" onmouseout="this.className='test1';" onclick="this.className='test3';">
    <td><a href="#" /><img SRC="D:/img/plus.gif" border="0" /></td>
    <td>a</td>
    <td>b</td>
    <td>c</td>
  </tr>
</table>

Vielen Dank und Grüsse

Ragnarök

  1. Hallo,

    erste Frage: Was hat das ganze mit HTTP als Thema zu tun?
    Javascript wäre wohl besser...

    Ich würde das ganze an deiner Stelle über verschiedene Funktionen machen in der du überprüfst welche Klasse die Zeile momentan hat.
    Falls die <tr> die Klasse, in deinem Falle test3 hat, wird das beim onMouseOut überprüft und in diesem Falle nicht die Farbe geändert - sollte die Klasse dagegen test sein, wie von einem onMouseOver dann wird die Klasse geändert.

    Sollte eigentlich mit dieser Methode kein Problem sein.

    cu Benedikt Loepp

  2. ich habe ein Tabelle bei der die verschiedenen <tr>'s bei onmouseover ihre Hintergrundfarbe ändern. Mit onmouseout bekommen sie wieder ihre alte Farbe zugewiesen. Nun habe ich noch onclick eingebaut um eine Zeile zu markieren. Das Problem ist jetzt nur, dass die Zeile nur solange markiert ist, wie auch der Mauszeiger auf ihr ist. Wird die Maus bewegt, kommt gleicht onmouseout zum Zuge und die markierte Zeile hat wieder ihre alte Farbe.

    Hi Ragnarök,
    Das onmouseout-Event darf die Farbe also nicht ändern, wenn diese Tabellenzeile selektiert ist. Kannste mit einem Array von Flags lösen; oder einer Variablen, in der die Nummer der selektierten Zeile steht. Dieses wird bei jedem onclick aktualisiert und bei onmouseover und onmouseout abgefragt, damit die Farbe nur bei nicht selektierten Zeilen geändert wird.
    Gunnar

    --
    Good results come from experience; and experience comes from bad results.