# Alternative zu Java (Verlinkung Tabellen)



## kasi (5. August 2002)

Hallo Leute!

Um bei einer Tabelle ein Kästchen mit einem Hover zu versehen braucht man ja normalerweise Javascript. (ich meine den Effekt den es z.B. bei Microsoft.de gibt) Gibt es vielleicht eine andere möglichkeit?
Ohne Java würde das mir etwas besser gefallen. Spart zum einen Quelltext zum anderen erhöht es die Kompatibilität.
Nach möglichkeit sollte man für das Überfahren einen Extra Stylesheet vverwenden können...

Danke


----------



## Christoph (5. August 2002)

1.) nicht JAVA sondern JavaScript.
2.) einfach mit CSS-

http://selfhtml.teamone.de
http://www.w3schools.com/css/


----------



## Ripper (5. August 2002)

mach das doch einfach mit flash mehr dazu unter
http://www.flashworker.de

cu ripper


----------



## kasi (5. August 2002)

Ich glaube mein Problem wurde nicht richtig verstanden.
Also ich will folgendes:
Wenn man mit dem Cursor über eine Tabellenzeile mit Link fährt, soll die GANZE Tabellenzeile mit dem, was man in CSS definiert hat dekoriert werden. Würde man das ohne JavaScript machen, würde nur der Text mit er Hoverklasse erscheinen. Genau das aber will ich nicht. Alles soll damit erscheinen. Bislang fand ich nur eine Möglichkeit mit JavaScript, doch die Frage war, ob das auch einfacher geht, weshalb Flash auch keine lösung ist.

OK?


----------



## Christoph (5. August 2002)

warum eigentlich kein JS.........?

das bissl is dann auch schon egal

das is ein ganz schlankes script:

```
<style type="text/css">
<!--

.Navlink {COLOR: #808080; TEXT-DECORATION: none; font-family: arial; font-size: 10pt; font-weight: bold;}
a:link.Navlink  {color : #808080;}
a:visited.Navlink  {color : #808080;}
a:active.Navlink  {text-decoration: none;}
a:hover.Navlink  {text-decoration: none;}

-->
</style>
<script language = "javascript">
<!--

function LmOver(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#FFFFFF";
elem.style.cursor = 'hand'}

function LmOut(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#808080";}

function LmDown(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#FFFFFF";}

function LmUp(path)
{location.href = path;}

//-->
</script>

<table border="0" width="120" bgcolor="#000000" cellspacing="0" cellpadding="0">
<tr><td width="100%">

<table border="0" width="100%" cellspacing="1" cellpadding="1">
<tr><td width="100%" onMouseover="LmOver(this, '#9999FF')" onMouseout="LmOut(this, '#FFFFFF')" onMouseDown="LmDown(this, '#9999FF')" 
onmouseup="LmUp('#')" bgcolor="#FFFFFF"><a href="#" class="navlink">123</a></td></tr>
<tr><td width="100%" onMouseover="LmOver(this, '#9999FF')" onMouseout="LmOut(this, '#FFFFFF')" onMouseDown="LmDown(this, '#9999FF')" 
onmouseup="LmUp('#')" bgcolor="#FFFFFF"><a href="#" class="navlink">123</a></td></tr>
</table>

</td></tr>
</table>
```
sonst hab ich auch keins


----------



## kasi (5. August 2002)

@ Hochi

Gut dein Skript ist ja ganz gut, und ich hab dagegen im Prinzip nix einzuwenden, da aber mein Skript (Arbeitet mit CSS-Klassen) etwas mehr
Möglichkeiten bietet, kann ich es leider nicht gebrauchen.
 Mir ist das ganze ja bloß deswegen eingefallen, weil ich seit neuestem mit opera in den Weiten des WWW unterwegs bin und das da nicht funktioniert. Man will ja keine Besucher verschmähen..
Deswergen wollte ich eine Lösung ohne JavaScript, da das bei jedem Browser anders sein kann.


----------



## Christoph (6. August 2002)

was geht bei opera nicht??
CSS-Klassen??


----------



## kasi (6. August 2002)

*Opera*

Also Hochi:
Opera kann bei meinem JavaScript beim Überfahren eines Tabellenfeldes
das Tabellenfeld nicht mit der CSS-Klasse, die ich für das Überfahren
definiert habe, darstellen, sondern macht gar nichts.
Der Effekt sollte eigentlich wie bei der microsoft-HP aussehen, wo auf der linken Seite beim Überfahren des Menüs die Tabellenzeile markiert wird (jedoch nur bei IE ab 5.5).
Opera macht auf der MS-HP aber auch nichts anderes als er bei mir macht, d.h. sowohl meine Variante als auch die Variante von MS funktionieren nicht ordnungsgemäß.
Und deswegen wollte ich eine Lösung ohne JavaScript, da jeder Browser dieses Script anders interpretiert.


----------



## Christoph (6. August 2002)

wusst ich nicht. hab nicht´s mit kompatibilität am Hut *g*

und ausserdem: Wenn juckt Opera


----------



## Ripper (6. August 2002)

Dat geht doch mit nem ganz einfachen bildwechsel:

<script language="JavaScript">
<!--
  Normal1 = new Image();
  Normal1.src = "images/filepic.gif";
  Highlight1 = new Image();
  Highlight1.src = "images/filepic1.gif";

  Normal2 = new Image();
  Normal2.src = "images/lwlpic.gif";
  Highlight2 = new Image();
  Highlight2.src = "images/lwlpic1.gif";

  Normal3 = new Image();
  Normal3.src = "images/webpic.gif";
  Highlight3 = new Image();
  Highlight3.src = "images/webpic1.gif";

  Normal4 = new Image();
  Normal4.src = "images/kompic.gif";
  Highlight4 = new Image();
  Highlight4.src = "images/kompic1.gif";

  Normal5 = new Image();
  Normal5.src = "images/strompic.gif";
  Highlight5 = new Image();
  Highlight5.src = "images/strompic1.gif";

  Normal6 = new Image();
  Normal6.src = "images/sichpic.gif";
  Highlight6 = new Image();
  Highlight6.src = "images/sichpic1.gif";

  function Bildwechsel(Bildnr,Bildobjekt)
  {
   window.document.images[Bildnr].src = Bildobjekt.src;
  }
 //-->
</script>


in html


onMouseOver="Bildwechsel(9,Highlight5)" onMouseOut="Bildwechsel(9,Normal5)"


so hab ich dat zumindestenz mal gemacht


----------



## kasi (6. August 2002)

@ Hochi
Mich juckt Opera sehr. Ist nämlich der einzige Browser der einigermaßen stabil und schnell zugleich ist.
@ ripper
Tja ich hab das ganze bloß mit Texten und Icons und die Icons sollen ja die gleichen bleiben. 
Ein Imagerollover wäre ja für buttons aber ich hab die zugunsten der Performance und aufgrund der beschränkten Speicherplätze
weggelassen.

Ich glaub das Thema hat sich für mich beendet.
Recht viel mehr und recht viel brauchbares ist bei so einem komischen Problem auch nicht rausgekommen.


----------



## Christoph (6. August 2002)

> Mich juckt Opera sehr. Ist nämlich der einzige Browser der einigermaßen stabil und schnell zugleich ist.



leider nicht ganz kompatibel aber immerhin besser als Netscape


----------



## kasi (7. August 2002)

@ hochi
Gerade deswegen war ja dieser Thread überhaupt.
Ich wollte ja diese inkompatibilitäten abschaffen.
so nebenbei: 
Netscape versteht mein Java-Script


----------



## Christoph (7. August 2002)

> Netscape versteht mein Java-Script



dann kann´s nicht viel sein  

wenn du deine Seiten für Netscape kompatibel machen willst verzichtest du auf sehr viel und das wegen ein paar stinkigen Netscape Usern.. Bin ja nicht unbedingt der MS-Fan aber in der Beziehung denke *ich* sicherlich nicht an Netscape!

Nur du wirst dich eben sehr schwer tun. wie du siehst hast du schon bei den einfachsten Sachen probleme

aber deine sache!


----------



## kasi (8. August 2002)

@ Hochi
Nur so nebenbei:
Ich habe nicht versucht die Site für Netscape kompatibel zu machen, sondern eher für Opera (mehr aus Symphatie).
Dass das skript mit Netscape funktioniert liegt vielleicht daran, 
dass sich Netscape seit ihrem "Meisterwerk" 6.0 (für mich der absolut
beschissenste Browser, wegen dem musste Adobe sogar seinen GoLive 5 updaten) immer mehr Richtung IE ab 5.5 orientiert hat. Man beachte beispielsweise die (fast) vollkommene Gleichheit formatierter Eingabefelder (also bei farbigen rahmen, dekorierten Schaltflächen....)
Im Bereich Java schlägt das eben auch etwas durch....
(Notiz am Rande: Bei Netscape 7.0 gibt es ja die Möglichkeit mehrere Fenster in der selben Anwendung laufen zu lassen, das kenn ich von opera doch schon länger, um nicht zu sagen die Idee stammt von Opera)
Ich bin mir schon bewusst, dass es unmöglich ist eine Site für Netscape 
kompatibel zu machen.....
Wenn ich meine Seite teste dann immer in der Reihenfolge:
IE wenn ok -> Opera wenn da soweit ok wie für Opera möglich ->
Netscape wenn da Fehler dann Netscape verteufel und dann in Site schreiben: "Bei Netscape ab 6 kann es zu Darstellunsfehlern kommen..."
OK?


----------

