JS kompatibel machen

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/js_kompatibel_machen_122242/page_1 - zur Vollversion wechseln!


Facetious schrieb am 18.08.2004 um 11:59

hi leute!

Das js schaut folgender maßen aus:

Code: PHP
function showSubs(id)
{
       if (id.style.display=='none')
           id.style.display='inline';
       else
           id.style.display='none';
}

das funktioniert aber nur im ie

ich bräuchte aber auch eine lösung für andere browser..gibts da irgendwo tuts/hilfestellungen??

tia Facetious


Rektal schrieb am 18.08.2004 um 12:07

Was soll

Code:
id.style.display='';
bewirken? Du musst immer angeben, was sein display-type ist. Einen leeren gibts es nicht. Eine Liste der gueltigen gibts in den Specs -> http://www.w3.org/TR/CSS21/visuren.html#propdef-display .

Je nachdem wie das Objekt gerendert werden soll wirds vermutlich 'block' oder 'inline' oder was vom Table sein (was darfs heute sein? ;-)


Facetious schrieb am 18.08.2004 um 12:20

zuerstmal
thx für rasche antwort
habs schon auf inline geändert

das ganze soll eine navigation sein
beim mouseOver wird die funktion aufgerufen und eine id übergeben

im ie funkts gut, aber firefox nicht :(

Facetious


Rektal schrieb am 18.08.2004 um 12:38

Auf inline-geaendert heisst, es geht jetzt oder noch immer nicht? URL?


Facetious schrieb am 18.08.2004 um 12:43

Zitat von Rektal
Auf inline-geaendert heisst, es geht jetzt oder noch immer nicht?

im ie ja
im firefox nein

und es soll aber in beiden funktionieren

url:http://facetious.funpic.de/navi.html

Facetious


Rektal schrieb am 18.08.2004 um 13:09

Der aktuelle Code ist nicht OK: Es gibt kein

Code:
document.getElementById(id).style.setAttribute
.

setAttribute kann man nur auf das Element selbst anwenden
Code:
getElementById(id).setAttribute
und es bezieht sich auf die Attribute der HTML-Elements, nicht auf die CSS-Properties, also

<img id="foo" border="0" src="bla.png">

getElementById('foo').getAttribute('border');

Es ist einfach nur getElementById('foo').style.display , zuweisen oder auslesen mit variablenzuweisung.

Wenn du Javascript-Console aktivierst siehst du auch dass es einen Fehler gibt.

Knapp gekuerzt:
Code:
<script language="javascript">
function showSubs(id)
{
		document.getElementById(id).style.display = 'inline';
}

function hideSubs(id)
{
		
		document.getElementById(id).style.display = 'none';
}
</script>
...
		<td><span id="Test1" onMouseOver="showSubs('Test1sub')" onmouseout="hideSubs('Test1sub');">Test1</span></td>

Geht in beiden Browsers, macht mir im Mozilla aber Grafikfehler.

Ich wuerd eher den Table oder die table-row oder so ausbleden, nicht einen span mitten drin ...


Facetious schrieb am 18.08.2004 um 13:13

thx :) für die schnelle hilfe

SOLVED




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026