beim laden <div> verstecken
Simone
- javascript
0 Christian0 Simone0 Cybaer0 Simone0 Ingo Turski0 Cybaer
0 dedlfix0 Gunnar Bittersmann0 tom as
Hi,
Nicht Jeder hat Javascript aktiv.
Ich möchte ein div jedoch nur verstecken wenn Javascript aktiv ist.
id="layer" müste beim laden der Seite:
display: none; zugewiesen bekommen
Danke für Zeit und Hilfe
Simone
Mein Versuch:
<body onLoad="divweg()" >
<script language="JavaScript">
<!--
function divweg()
{
document.getElementById('layer').style.display = 'none';
}
function exchangeDisplay(id){
if(document.getElementById(id).style.display == 'none')
{
document.getElementById(id).style.display = 'block';
}
else
{
document.getElementById(id).style.display = 'none';
}
}
//-->
</script>
<a href="javascript:exchangeDisplay('layer')">anzeigen</a>
<div style="font-size:10px;" id="layer" >
ich bin nur unsichtbar wenn Dein Browser javascript kann!
<div>
</body>
Versuch doch mal:
document.getElementById('layer').style.visibility = 'hidden';
So blende ich Ebenen auch bei mir aus
Grüße
Chris
HI, Chris
Danke für Deine Antwort.
Habe den Code etwas modifiziert.
Der IE und Mozilla machen keine Probleme.
aber was machen die Anderen Browser
Könnt Ihr das bitte mal testen, Danke
Simone
<body onLoad="divweg()" >
<script language="JavaScript">
<!--
function divweg()
{
document.getElementById('layer').style.visibility='hidden';
}
function exchangeDisplay(id){
var layerdetails = document.getElementById(id).style.visibility;
if(layerdetails=="hidden"){
document.getElementById(id).style.visibility='visible';
}
if(layerdetails=="visible"){
document.getElementById(id).style.visibility='hidden';
}
}
//-->
</script>
<a href="javascript:exchangeDisplay('layer')">anzeigen</a>
<div style="font-size:10px;" id="layer" >
ich bin nur unsichtbar wenn Dein Browser javascript kann!
<div>
</body>
Hi,
<body onLoad="divweg()" >
Es ist allerdings eleganter, das (bereits sichtbare) Element nicht erst nach dem Laden auszublenden, sondern bevor es sichtbar ist.
<a href="javascript:exchangeDisplay('layer')">anzeigen</a>
Wenn ein Element nur mit JS eine Funktionalität aufweist, dann sollte das Element auch gar nicht exisiteren/anegzeigt werden, wenn diese Funktionalität gar nicht gegeben ist.
ich bin nur unsichtbar wenn Dein Browser javascript kann!
Es gibt auch Browser, die JavaScript können, und bei deinem Script Fehler werfen (ja, sogar Browser, die Elementeunsicthbar machen können).
Beachte also ältere Browser, indem Du einfach dein Script/die Funktionalität mit einem "if(document.getElementById)" umklammerst.
Gruß, Cybaer
Hi, Cybaer
Danke Dir für Deine Antwort
<body onLoad="divweg()" >
Es ist allerdings eleganter, das (bereits sichtbare) Element nicht erst nach dem Laden auszublenden, sondern bevor es sichtbar ist.
Das verstehe ich, jedoch fehlt mir das entsprechende Glied zur Umsetung.
Welche Funktion kann ich nutzen um das entsprechende Div auszublenden bevor ist sichtbar wird? Und gleichzeitig zu garantieren das User ohne JavaScript den Text lesen können.
Auf style="display: none;" möchte ich dabei verzichten.
Simone
Hi,
Welche Funktion kann ich nutzen um das entsprechende Div auszublenden bevor ist sichtbar wird?
keine. Du kannst allerdings ein Style-Element in den Head schreiben und hierüber eine Regel für ein Element notieren, das noch gar nicht geladen ist.
freundliche Grüße
Ingo
Hallo!
Bei allem Respekt zur Diskussion um getElement...
Es geht doch darum, irgendwelchen Inhalt für Browser MIT JavaScript zu verstecken. Warum dann nicht einfach den Inhalt, den nur Besucher ohne JavaScript sehen sollen (denn das will Simone, wenn ich nicht arge Verständnisschwierigkeiten habe), in einem noscript-Bereich packen?
Oder wird dieser Inhalt später doch für Besucher mit JS benötigt? Wenn nicht:
<noscript>
<div>
Inhalt, denn nur die "mit ohne" sehen sollen...
</div>
</noscript>
Viele Grüße aus Frankfurt/Main,
Patrick
echo $begrüßung;
Es geht doch darum, irgendwelchen Inhalt für Browser MIT JavaScript zu verstecken. Warum dann nicht einfach den Inhalt, den nur Besucher ohne JavaScript sehen sollen (denn das will Simone, wenn ich nicht arge Verständnisschwierigkeiten habe), in einem noscript-Bereich packen?
Es geht darum, den Inhalt vorläufig auszublenden und bei einer bestimmten Benutzeraktivität wieder einblenden zu können. Diese Funktionalität erfüllt zumindest der im OP enthaltene Code. Besucher ohne Javascript sollen ihn lediglich gleich angezeigt bekommen.
echo "$verabschiedung $name";
Hallo dedlfix!
Es geht darum, den Inhalt vorläufig auszublenden und bei einer bestimmten Benutzeraktivität wieder einblenden zu können.
Dann muss ich das nächste Mal aufmerksamer lesen ;)
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
Dann muss ich das nächste Mal aufmerksamer lesen ;)
Zusätzlich geht es nur um Browser der 5. Generation (IE 5+, Moz, ...). JavaScript ist weitaus älter.
Gruß, Cybaer
Hi,
Welche Funktion kann ich nutzen um das entsprechende Div auszublenden bevor ist sichtbar wird?
Du kannst *direkt nach* dem DIV ein JS schreiben, das dieses ausblendet (<div><script ...> oder </div><script ...>) oder zumindest am Seitenende.
Oder aber mit JavaScript (am einfachsten: write()) einen STYLE im HEAD erzeugen, der nichts anderes enthält (natürlich nur mit "if(document.getElementById)" geklammert ;-)).
Es gibt natürlich noch komplexere Möglichkeiten, aber das wäre am einfachsten. ;-)
Gruß, Cybaer
echo $begrüßung;
Ich möchte ein div jedoch nur verstecken wenn Javascript aktiv ist.
Mein Versuch: [...]
Ja, so wie du das im weiteren beschreibst sah mein erster Versuch, diese Aufgabe zu erledigen auch aus. Wo steckt nun dein Problem dabei?
echo "$verabschiedung $name";
Hello out there!
<script language="JavaScript">
Den Fehler solltest du ausmerzen: <http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=JavaScript-Bereiche in HTML definieren>.
<!--
HTML-Kommentarzeichen sollten nicht in JavaScript stehen; das kann böse Ärger geben. Weg damit!
function exchangeDisplay(id){
Siehe dazu http://forum.de.selfhtml.org/archiv/2006/7/t132337/#m856382
<a href="javascript:exchangeDisplay('layer')">anzeigen</a>
Und dazu auch.
See ya up the road,
Gunnar
Soweit ich mal gehört habe, sollte man nicht mit hidden/visible arbeiten, weil einige Browser damit Probleme haben. Besser ist es die DIV nach links aus dem Fenster zu schieben.
hi,
Soweit ich mal gehört habe, sollte man nicht mit hidden/visible arbeiten, weil einige Browser damit Probleme haben. Besser ist es die DIV nach links aus dem Fenster zu schieben.
Du hast Quark gehört.
gruß,
wahsaga
Hi,
Soweit ich mal gehört habe, sollte man nicht mit hidden/visible arbeiten, weil einige Browser damit Probleme haben.
Der Navigator 4.x kennt "hidden" nicht, sondern stattdessen IIRC "hide". Aber der scheitert bereits am getElementsById ... :)
Gruß, Cybaer