PDA

Vollständige Version anzeigen : [JavaScript] Hilfe zu If schleife


sureshotcila
10.04.2003, 07:00
hi,

ich habe ein java script welches <span> tags ein und wieder ausblenden kann:
Ein Beispiel findet man unter www.the-errorists.ch



var lastSpan = null;

function swap_content( span )
{
if ( lastSpan && (lastSpan!=span) )
{
document.getElementById( lastSpan ).style.display = 'none';
}
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;
}



ich möchte ich noch ein erweiterung einbauen:

wenn ein span tag geöffnet ist sollte sich ein bild änderen. Dazu muss ich ja wissen wie das span tag heisst. Ich hab mal hier ein lösungs vorschlag. Leider kenne ich mich mit javascript noch zuwenig aus und so läuft es auch noch nicht.



var lastSpan = null;

function swap_content( span )
{
if ( lastSpan && (lastSpan!=span) )
{
document.getElementById( lastSpan ).style.display = 'none';

if(span = 'menu') {
document.getElementById('menuleft').src = '../Bilder/up_r.gif';
}
if(span = 'site') {
document.getElementById('site1').src = '../Bilder/up_r.gif';
}
if(span = 'pic') {
document.getElementById('pic1').src = '../Bilder/up_r.gif';
}
if(span = 'short') {
document.getElementById('con').src = '../Bilder/up_r.gif';
}
if(span = 'zitat') {
document.getElementById('ziz').src = '../Bilder/up_r.gif';
}

}
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;
}


Das Bild Tag welches verändert werden soll sieht so aus:


]img id="zit" name="zit" src="../Bilder/up_r.gif" width="16" border="0" alt=""[

Ich weiss nicht genau ib ich name="zit" und id=zit" brauche. Name sicherlich für einen Mouseovereffekt. Und ID brauche ich wohl für den script.


So ich hoffe jemand hier kann mir helfen!

Vielen Dank und gruss

beat

DarthPatrick
10.04.2003, 12:41
Hallo beat,

folgende Änderungen sind erforderlich:
document.getElementById( lastSpan ).style.display = 'none';
}
if(span == 'menu') {
document.getElementById('menuleft').src = '../Bilder/up_r.gif';
}
if(span == 'site') {
document.getElementById('site1').src = '../Bilder/up_r.gif';
}
if(span == 'pic') {
document.getElementById('pic1').src = '../Bilder/up_r.gif';
}
if(span == 'short') {
document.getElementById('con').src = '../Bilder/up_r.gif';
}
if(span == "zitat") {
document.getElementById("zit").src = '../Bilder/up_r.gif';
}
Dann funktioniert es bei mir!
zur Erklärung: = ist der Zuweisungsparameter, == der Vergleichsparameter. Wenn du also if (span="zitat") schreibst wird nicht verglichen, sondern der Variable span der Wert "zitat" zugewiesen. Und die ganze Abfrage muss zusätzlich hinter die schließende Klammer der ersten IF-Abfrage.

sureshotcila
10.04.2003, 12:52
danke für die antwort.

Aber es klappt noch nicht!

Ich melde mich später nochmal

=================================

Müssen es ' oder " sein? Oder spielt das keine rolle?

Ich habs auch hinter der abschliessenden Klammer der erste if abfrage.

also ehrlich gesagt weiss ich nicht so recht warum es nicht geht.


Hier mal ein Beispiel:
http://www23.brinkster.com/errorists/site/room/beat.html

Hier noch das Javascript file
var lastSpan = null;

function swap_content( span )
{
if ( lastSpan && (lastSpan!=span) )
{
document.getElementById( lastSpan ).style.display = 'none';
}

if(span == "menu") {
document.getElementById("menuleft1").src = '../Bilder/up_r.gif';
}

if(span == 'site') {
document.getElementById('site1').src = '../Bilder/up_r.gif';
}

if(span == 'pic') {
document.getElementById('pic1').src = '../Bilder/up_r.gif';
}

if(span == 'short') {
document.getElementById('con').src = '../Bilder/up_r.gif';
}

if(span == 'zitat') {
document.getElementById('zit').src = '../Bilder/up_r.gif';
}

displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;

}

Das Menü Link ist das Prob

DarthPatrick
10.04.2003, 12:54
Hi,

hier einmal mein Code:
<script type="text/javascript">
<!--
var lastSpan = null;
function swap_content( span )
{
if ( lastSpan && (lastSpan!=span) )
{
document.getElementById( lastSpan ).style.display = 'none';
}
if(span == 'menu') {
document.getElementById('menuleft').src = '../Bilder/up_r.gif';
}
if(span == 'site') {
document.getElementById('site1').src = '../Bilder/up_r.gif';
}
if(span == 'pic') {
document.getElementById('pic1').src = '../Bilder/up_r.gif';
}
if(span == 'short') {
document.getElementById('con').src = '../Bilder/up_r.gif';
}
if(span == "zitat") {
document.getElementById("zit").src = 'krokodil.gif';
}
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;
}
//-->
</script>

Fall es nicht klappt lad doch mal ein Beispiel hoch und schick mir die URL - dann ist es etwas einfacher für mich

sureshotcila
10.04.2003, 13:16
könntest du dein code nochmal posten???

DarthPatrick
10.04.2003, 13:48
<script type="text/javascript">
<!--
var lastSpan = null;
function swap_content( span )
{
if ( lastSpan && (lastSpan!=span) )
{
document.getElementById( lastSpan ).style.display = 'none';
}
if(span == 'menu') {
document.getElementById('menuleft').src = '../Bilder/up_r.gif';
}
if(span == 'site') {
document.getElementById('site1').src = '../Bilder/up_r.gif';
}
if(span == 'pic') {
document.getElementById('pic1').src = '../Bilder/up_r.gif';
}
if(span == 'short') {
document.getElementById('con').src = '../Bilder/up_r.gif';
}
if(span == "zitat") {
document.getElementById("zit").src = 'krokodil.gif';
}
displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
document.getElementById( span ).style.display = displayType;
lastSpan = span;
}
//-->
</script>

sureshotcila
10.04.2003, 13:56
deiner klappt auch nicht :o

du konntest es test?

kannst du mir mal das file schicken?

DarthPatrick
10.04.2003, 14:36
tja, ich hatte auch keine Lust alles nachzustellen ... ich habe eine datei mit einem Bild probiert - das ging aber mit diesem Code. Das Problem liegt im Transfer von deiner Seite auf meine Seite ... ich bin nur so richtig glücklich, wenn ich mit Try and Error arbeiten kann. Die Anlage bitte in *.html umbennen

sureshotcila
10.04.2003, 15:00
es lag daran das ich im [tr] tag noch id="text" vom css hatte :) jetzt klappts auch bei mir.

danke schön