FlashObjekt verstecken

chattan07

New member
Ich und ein Kollege versuchen ein swfObjekt in einem <div> oder <SPAN> layer, mit hilfe von style.display='none' zu verstecken...
Nachdem es "versteckt" ist, kommt es aber nicht mehr zurück... Bilder und Texte kommen wieder, aber nicht das FlashObject... Ich benutze Safari und Firefox auf OSX. Es funzt bei beiden nicht...

wir haben jetzt schon so einiges ausprobiert, und seit gestern sieht unser code so aus:
HTML:
<html>
<head>
<style type="text/css">
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
</style>

<script language="JavaScript" type="text/JavaScript">
  function showHide(id, visibility) {
    var obj = document.getElementById(id);
    //obj[id].style.visibility = visibility;
    if (visibility=='visible') { 
      obj[id].style.display='visible';
    } else {
      obj[id].style.display='none';
    }
  }
</script>
</head>
<body>
<table width="720" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center">
        <a href="java script:showHide('Featured','visible')">show</a> 
        <a href="java script:showHide('Featured','hidden')">hide</a>
	<div id="Featured"><!--Flash object and embed here--></div>
    </td>
  </tr>
</table>
</body>
</html>

Bei einem anderen Forum hat mir jemand das hier geraten:

Code:
if(visibility == "visible") {
    obj.style.position = "relative";
    obj.style.top = "0px";
  } else {
    obj.style.position = "absolute";
    obj.style.top = "-1000px";
  }
}
Er meinte:
"Da JS beim style.display = 'none' das Object einfach neben
die Seite stellt findet es das Object nacher nicht mehr, da es
auf der aktuellen Seite (document) nach dem Objekt sucht."

Das funktioniert auch soweit, aber: Wenn es "zurück kommt" (visible = true) dann ist es weiss... also Unsichtbar... Tja!

Ursprünglicher Thread von meinem Kollegen: http://forums.ultrashock.com/forums/showthread.php?threadid=65670&referrerid=309

Hat irgendwer eine idee wie man das sonst noch lösen könnte? ist es überhaupt möglich?

Ich habe auch den Dreamweaver Code für show/hide eines Layers versucht. Das funktioniert, aber dann besetzt das FlashObject immer noch die selbe breite und höhe auf der seite: nur dass es unsichtbar ist...

Irgendwo habe ich mal was von einer DHTML Klasse (PHP) gehört die den Zugriff auf layers per ID in jedem Browser möglich macht... könnte die lösung da versteckt sein?

Bin am Ende von meinem Latein... Keine Ahnung wie ich das lösen könnte! Und ich versuche es schon VIIIIIEL zu lange!
 
Also das hier musst Du nicht schreiben:

obj[id].style.display='visible';

Denn Du sprichst ja Dein Eelement schon über dies hier an:

var obj = document.getElementById(id);

Und "visible" als Wert gibt es nicht für "display", nur "none","inline","block" und "list-item". Das was Du brauchst ist "block".


Demnach müsse es so heißen:

function showHide(id, visibility) {
var obj = document.getElementById(id);
if (visibility=='visible') {
obj.style.display='block';
} else {
obj.style.display='none';
}
}


Grüße Robert
 
Hmmm... funktioniert immer noch nicht...

hast du das mit einem FlashObjekt ausprobiert?

weil bei mir versteckt dieses Script zwar das Objekt, aber wenn ich es wieder anzeigen will dann erscheint das Objekt nicht mehr...

ich glaube ich machs jetzt in asp! JS ist anscheinend nicht dafür geeignet...
 
Zuletzt bearbeitet:
Zurück
Oben