Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[JavaScript][Firefox] Keine Styleveränderung nach ID

Empfohlene Antworten

Veröffentlicht

Hallo.

Habe eine Problem mit JavaScript und Firefox (beim MSchrott funktionierts, Opera auch).

JavaScript teil:

function Div_Show () {

  divid1.style.visibility = 'visible';

};

function Div_Hide () {

  divid1.style.visibility = 'hidden';

};

HTML teil:
<div id="divid1" style="visibility: visible;">in der "richtigen" Datei steht natürlich mehr im Style und Div </div>[/code]

Kennt jemand eine Lösung für "alle" Browser?

so in etwa:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>

<head>

	<title>Untitled</title>

<script>

function showHideDiv(id){

	if(eval("document.getElementById('" + id + "').style.display == 'block'")){

		eval("document.getElementById('" + id + "').style.display = 'none'")

	}else{

		eval("document.getElementById('" + id + "').style.display = 'block'")	

	}

}

</script>

</head>


<body>

<div id="divid1" style="display: none;">in der "richtigen" Datei steht natürlich mehr im Style und Div </div>

<button onClick="showHideDiv('divid1');">Klick mich!</button>


</body>

</html>


[/code]

Hi.

Jo, vielen Dank. War aber früher einfacher, oder? Mein erster Post hatte früher bei Firefox funktioniert (v1.1.x). Gibt es eine neue JavaScript Richtlinie, die ich verpasst habe???

Hi.

Jo, vielen Dank. War aber früher einfacher, oder? Mein erster Post hatte früher bei Firefox funktioniert (v1.1.x). Gibt es eine neue JavaScript Richtlinie, die ich verpasst habe???

hmm schwierig. man sollte eigentlich auf elemente immer per getElementById bzw. per tagName[] zugreifen. das ist sicherer und browserübergreifend.

ausserdem ist meine gepostete funktion universell anwendbar. deine wäre ja statisch und somit nur für das eine div mit dem namen "divid1" einsetzbar.

ist zwar ein kleines bisschen mehr code, erleichtert dir aber einiges und vor allem funktioniert in mehreren browsern ;)

Hallo.

Nur noch ein kleines Problem:

Fehler: Fehler beim Verarbeiten des Wertes für Eigenschaft 'overflow'. Deklaration ignoriert.

Quelldatei: http://localhost/design.htm

Zeile: 0

<div id="banner" style="position:absolute; width:468px; height:60px; z-index:2; left: 300px; top: 10px; overflow: hidden; visibility: visible; background-color: #DFAB1F; layer-background-color: #DFAB1F;"></div>

Gibt es eine Alternative hierfür?

Hallo.

Nur noch ein kleines Problem:

<div id="banner" style="position:absolute; width:468px; height:60px; z-index:2; left: 300px; top: 10px; overflow: hidden; visibility: visible; background-color: #DFAB1F; layer-background-color: #DFAB1F;"></div>

Gibt es eine Alternative hierfür?

öööh..das ist jetzt aber ein anderes thema wenn ich das richtig sehe oder?

worum gehts?

was soll das werden? ein banner? wie und wo und warum und überhaupt ;)

wer oder was spuckt den fehler aus?

Na ja. Je nach dem Blickwinkel ;)

Java Konsole gibt den Fehler aus. Deswegen kann ich auf die Einstellung im Style Tag auch nicht zugreifen. Im Grunde das gleiche wie oben nur anstatt mit "visabbility" mit "overflow".

deutsche rechtschreibung An Die macht ;)

Also du willst auf das Banner <div> per Javascript zugreifen und das "overflow" von "hidden" auf irgendwas anderes setzen?

Jo.

Außerdem scheint Firefox den Schlüssel nicht zu kennen (aber 2. rangig)...

ich kann das jetzt grad nicht testen, aber sollte es nicht so funktioniieren:


<script>

function showHideDiv(id){

	if(eval("document.getElementById('" + id + "').style.overflow== 'hidden'")){

		eval("document.getElementById('" + id + "').style.overflow = 'visible'")

	}else{

		eval("document.getElementById('" + id + "').style.overflow = 'hidden'")	

	}

}

</script>

oder?

Hi.

Vielen Dank erstmal, aber das hatte ich bereits versucht. Hier das Problem:

Als HTML wertet Firefox den Schlüssel richtig aus (kein Fehler in Java Konsole). Greife ich aber per Java drauf zu kommt ein Fehler (s.o.)...


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>

<head>

	<title>Untitled</title>

<script>

function showHideDiv(id){

	if(eval("document.getElementById('" + id + "').style.overflow== 'hidden'")){

		eval("document.getElementById('" + id + "').style.overflow = 'visible'")

	}else{

		eval("document.getElementById('" + id + "').style.overflow = 'hidden'")	

	}

}

</script>

</head>


<body>

<div id="divid1" style="width: 100px;white-space: nowrap;overflow; hidden;">in der "richtigen" Datei steht natürlich mehr im Style und Div </div>

<button onClick="showHideDiv('divid1');">Klick mich!</button>


</body>

</html>



[/code]

so auch? in meinem FF läuft das ohne Fehler

Allerdings würde ich dann die javascript funktion noch anpassen und die attribute und ihre beiden zustände variabel anlegen, also übergabe dann z.b.

(

id,

styleAttribute,

styleActiveVal,

styleInActiveValue

)

oder so in der Art


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>

<head>

	<title>Untitled</title>

<script>

function showHideDiv(id){

	if(eval("document.getElementById('" + id + "').style.overflow== 'hidden'")){

		eval("document.getElementById('" + id + "').style.overflow = 'visible'")

	}else{

		eval("document.getElementById('" + id + "').style.overflow = 'hidden'")	

	}

}

</script>

</head>


<body>

<div id="divid1" style="width: 100px;white-space: nowrap;overflow; hidden;">in der "richtigen" Datei steht natürlich mehr im Style und Div </div>

<button onClick="showHideDiv('divid1');">Klick mich!</button>


</body>

</html>



[/code]




so auch? in meinem FF läuft das ohne Fehler



Allerdings würde ich dann die javascript funktion noch anpassen und die attribute und ihre beiden zustände variabel anlegen, also übergabe dann z.b. 



(

id,

styleAttribute,

styleActiveVal,

styleInActiveValue

)



oder so in der Art



So klapt es prima. Aber was ist das den für ein Bug? Normalerweise heiß es doch so: 
[code]overflow[COLOR="Red"];[/COLOR] hidden;
anstatt
overflow[COLOR="Red"]:[/COLOR] hidden;

nein, es heisst immer

overflow: hidden;

zuerst das styleAttribut, dann ein Doppelpunkt, dann ein Leerzeichen, dann den/die Wert/e dann abschließend ein Semikolon!

nein, es heisst immer

overflow: hidden;

zuerst das styleAttribut, dann ein Doppelpunkt, dann ein Leerzeichen, dann den/die Wert/e dann abschließend ein Semikolon!

Ja weiß ich. Du hast es aber mit ; ; gepostet und damit hat es funktioniert. Nicht mit : ; (Copy & Paste)

Ja weiß ich. Du hast es aber mit ; ; gepostet und damit hat es funktioniert. Nicht mit : ; (Copy & Paste)

ouch! das ist natürlich falsch, aber auch wenn ich es richtig schreibe, geht das sowohl IE 6 als auch FF.

probiers bitte nochmal...

ouch! das ist natürlich falsch, aber auch wenn ich es richtig schreibe, geht das sowohl IE 6 als auch FF.

probiers bitte nochmal...

Bei mir binkt dann die Java Konsole (Fehler) auf. Kann es da komplikationen mit Extensions geben?

  • Fasterfox 1.0.3
  • MinimizeToTray 0.0.1
  • Google ToolBar für Firefox 2.0.2

Bei mir binkt dann die Java Konsole (Fehler) auf. Kann es da komplikationen mit Extensions geben?

  • Fasterfox 1.0.3
  • MinimizeToTray 0.0.1
  • Google ToolBar für Firefox 2.0.2

puhh sorry, das weiss ich nicht.

das ist nochmal der gesamte code, nur mit deinen angaben:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>

<head>

	<title>Untitled</title>

<script>

function showHideDiv(id){

	if(eval("document.getElementById('" + id + "').style.overflow== 'hidden'")){

		eval("document.getElementById('" + id + "').style.overflow = 'visible'")

	}else{

		eval("document.getElementById('" + id + "').style.overflow = 'hidden'")	

	}

}

</script>

</head>


<body>

<div id="divid1" style="width: 100px;white-space: nowrap;position:absolute; height:60px; z-index:2; left: 300px; top: 10px; overflow: hidden; visibility: visible; background-color: #DFAB1F; layer-background-color: #DFAB1F;">

in der "richtigen" Datei steht natürlich mehr im Style und Div 

</div>

<button onClick="showHideDiv('divid1');">Klick mich!</button>


</body>

</html>


[/code]

ich hab keine extensions installiert und die FF version 1.0.7 am laufen.

alles funzt... ;(

Na ja.

Dann lass ich das misc lieben. Trotzdem vielen Dank.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.