Avatar billede baitianlong Nybegynder
26. april 2005 - 13:23 Der er 8 kommentarer og
1 løsning

Style display block & none

Jeg har et div tag med en flash i, den skal vises når man klikker på en knap, men være usynlig indtil da.

Jeg har skrevet:

document.write('<div id="fla" style="position:absolute; left:'+(winW-300)/2+'px; top:'+(winH-150)/2+'px; display=none;">');
document.write('<object type="application/x-shockwave-flash" data="flightwait.swf" width="300" height="150">');
document.write('<param name="movie" value="flightwait.swf" />');
document.write('</object></div>');

og på knappen:

<input type="submit" value="Find flights" style="width:490px; " onClick="window.status='Robots searching ...please stand by';document.getElementById('fla').style.display='block';">

Det virker "fint" i IE, men i firefox er den der enten fra starten, eller slet ikke :S Hvordan skal jeg fikse det, så det virker i begge browsere efter hensigten ?
Avatar billede ldanielsen Nybegynder
26. april 2005 - 13:31 #1
Hvis du nu har et billede i din div, i stedet for en flash, virker det så?
Avatar billede baitianlong Nybegynder
26. april 2005 - 13:43 #2
Det må da være irrelevant hvad, der er i div'et. Det er måden Style objektets display property opfører sig på, der varierer fra browser til browser.
Avatar billede fennec Nybegynder
26. april 2005 - 14:00 #3
Hvad sker der hvis du giver flash objektet et id og skjuler/viser den også??? Desuden er det "display:none;" i stedet for "display=none;":

document.write('<div id="fla" style="position:absolute; left:'+(winW-300)/2+'px; top:'+(winH-150)/2+'px; display:none;">');
document.write('<object id="fla1" type="application/x-shockwave-flash" data="flightwait.swf" width="300" height="150" style="display:none;">');
...
...
<input type="submit" value="Find flights" style="width:490px; " onClick="window.status='Robots searching ...please stand by';document.getElementById('fla').style.display='block';document.getElementById('fla1').style.display='block';">
Avatar billede baitianlong Nybegynder
26. april 2005 - 14:00 #4
document.write('<div id="fla" style="position:absolute; left:'+(winW-300)/2+'px; top:'+(winH-150)/2+'px; display:none; visibility:hidden;">');

Så var den fikset :)
Avatar billede baitianlong Nybegynder
26. april 2005 - 14:01 #5
Ja, jeg opdagede også mit = i stedet for : , men med det rettet og visible tilføjet var det en vinder :)
Avatar billede ldanielsen Nybegynder
26. april 2005 - 14:02 #6
OK

Blot skal du tænke på at flash er noget helt andet end almindelige billeder og html. Prøv fx. at dække en flash over med en div, så finder du ud af at det ikke kan lade sig gøre.

Hvis det nu virkede med en alm gif i div'en, så kunne vi udelukke at det var et CSS/DHTML/Javascript problem. Vi kan også vente på at roenving ser spørgsmålet, han kan den slags på fingrene. :o)

Jeg har lavet noget tilsvarende på et tidspunkt, og havde problemer lig dem du har. Men jeg husker ikke detaljerne om hvilke browsere der kunne hvad.

Min workaround var at jeg skrev flash'en i en div med display: none. Jeg havde desuden en tom div, der ikke var usynlig. Jeg gjorde så flash'en synlig ved at:

document.getElementById('synlig').innerHTML = document.getElementById('fla').innerHTML;
Avatar billede ldanielsen Nybegynder
26. april 2005 - 14:03 #7
for sent :o(
Avatar billede olebole Juniormester
26. april 2005 - 18:57 #8
<ole>

At bruge innerHTML er ikke brugbart her, da legende åbenbart skriver XHTML. Den metode hører til under HTML og kan ikke bruges under XHTML. Der er ingen problemer med at have en swf i et div ... kun under et div.

- og så ødelægger document.write() i øvrigt også alle gode forsøg på at skrive XHTML. Den metode kan også kun anvendes under HTML.
Når browserne begynder at forstå XHTML - og kan bruge det til noget - vil browseren simelthen gå ned og dø ved den linie  :)

/mvh
</bole>
Avatar billede baitianlong Nybegynder
26. april 2005 - 19:31 #9
mit object tag kom fra noget andet gammel kode, faktisk selveste forsiden på legende.dk. Derfor var der den der /> fætter med et sted. Men det virker dog glimrende efter jeg har fået visible på og rettet = til : ... Det er en meget fed måde at lave popup i disse !popup-dage :))

...ellers længe siden <o/b> - og tak for input.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester