Avatar billede Slettet bruger
21. oktober 2006 - 21:17 Der er 2 kommentarer

Variabel Flashhøjde ved brug af javascript

Oh alvidende eksperter.

Jeg har en HTML-fil, indeholdende en flash-fil. Denne flash-fil har i udgangspunktet en lærredhøjde på 365 pixels, men det er kun de øverste 122, der indledningsvist skal vises (se nederst i koden).

Flash-filen har en knap, der kalder javascript-funktionen "oversigt" - getURL('java script:oversigt(365)'); - og ved klik på knappen, skal det fulde areal altså vises.

Har nogen en idé til, hvordan den kringles? Er min indgangsvinkel rigtig?

Mvh. Anders

....
<title>Visflash</title>

<script language="javascript">

function oversigt(hoejde) {
    document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="887" height="'+hoejde+'" id="nyeste" align="top">');
    document.write('<param name="allowScriptAccess" value="sameDomain" />');
    document.write('<param name="movie" value="flash/nyeste.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="t" /><param name="bgcolor" value="#ffffff" />');
    document.write('<param name="wmode" value="transparent">');
    document.write('<embed src="flash/nyeste.swf" width="887" height="'+hoejde+'" align="top" quality="high" scale="noscale" salign="t" bgcolor="#ffffff" name="nyeste" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" />');
    document.write('</object>');

// Eksperimentkode - indkommenteres senere...
/*    var so = new SWFObject("flash/nyeste.swf", "nyeste", "887", "122", "8", "#ffffff");
    so.addParam("wmode", "transparent");
    so.addVariable("soegeord", "søgeordet");
    so.write("flashcontent"); */
}
</script>

<style type="text/css">
<!--
#galleri {
    position:absolute;
    width:200px;
    height:55px;
    z-index:20;
    left: 0px;
    top: 239px;
}
--></style>
</head>

<body>
<div id="galleri">
    <script language="javascript">oversigt(122);</script>
</div>
....
Avatar billede roenving Novice
22. oktober 2006 - 23:57 #1
Hrm, måske this.parent.getElementById("nyeste").style.height = "365px";
Avatar billede Slettet bruger
04. november 2006 - 21:22 #2
Hej Roenving.

Jeg vil blot informere om, at ingenlunde har glemt dig ;)
Har blot stadig gang i mulige løsningsmodeller.

Koden herover er ændret lidt; i script-delen står nu:

<script language="javascript">
function oversigt(rulud) {
  if (rulud == "donothing") {
    var so = new SWFObject("flash/nyeste.swf", "nyeste", "920", "100", "8", "#858686");
    so.addVariable("rulud", "donothing");
  } else if (rulud == "ja") {
    var so = new SWFObject("flash/nyeste.swf", "nyeste", "920", "365", "8", "#858686");
    so.addVariable("rulud", "ja");
  } else if (rulud == "nej") {
    var so = new SWFObject("flash/nyeste.swf", "nyeste", "920", "100", "8", "#858686");
    so.addVariable("rulud", "donothing");
  }
  so.addParam("wmode", "transparent");
  so.addParam("salign", "t");
  so.addParam("scale", "noscale");
  so.write("galleri");
}
</script>

Herudover kaldes javascript-funktionen således - <script language="javascript">oversigt("donothing");</script> - nede i mit DIV-tag.

Den tilbageværende udfordring er at flash-filen loader hver eneste gang, funktionen kaldes - og dermed "nulstiller" flash'en...
(og så virker den ikke korrekt i f.eks. Firefox, argh...)


Så skylder jeg forresten også lige at forklare, årsagen til denne manøvre:
Jeg har et flash-"gardin" (med transparency-parameter), der overlapper grafikken nedenunder. Men interaktionsmulighederne til links o.l., der ligger under den gennemsigtige del af flash'en, mistes til gengæld :(
Dette søges undgået på denne måde.
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