Avatar billede rfogh Nybegynder
16. april 2001 - 11:17 Der er 7 kommentarer og
1 løsning

Include og variabler

Jeg vil lave en side med js-include, hvor menuen skal gå ind og ændre navnet på den js-fil jeg inkluderer.

Jeg er ikke så meget hjemme i syntaksen i javascript, så jeg vil gerne have et eksempel :o)
Avatar billede rfogh Nybegynder
16. april 2001 - 11:30 #1
I pseudo-kode:
<script>
procedure(var ActiveFile: string;)
  ActiveFile = ActiveFile + \'.js\';
</script>

<a href=\"#\" onClick=\"procedure(Nyheder)\">Nyheder</a>

<script include=\"ActiveFile\"></script>
Avatar billede rfogh Nybegynder
16. april 2001 - 11:32 #2
js-filen indeholder kun tekst (Jeg bruger document.write - kan det gøres smartere?)
Avatar billede jakoba Nybegynder
16. april 2001 - 13:49 #3
Du kan desværre ikke give en variebel som værdi til en html-parameter.

du kan muligvis gøre det med document write, men kun ved at skrive hele script sektionen:
i head:
<script language=\'javascript\'> <!--

function getScript ( scriptId ) {
  document.write( \"<script src=\'\" +scriptId +\".js\'></script>\" );
}; //end getScript ( string )

// --> </script>

de steder du vil includere skriver du så:

<script language=\'javascript\'>
getScript( scriptnavn );
</script>

hvor scriptnavn kan være en streng-konstant eller en variabel du har defineret.

Det vil ret sikkert virke hvis scriptet skal inkluderes imellem <body> og </body>.
Hvis scriptet skal inkluderes imellem <head> og </head> tror jeg det går galt.

mvh JakobA

Avatar billede rfogh Nybegynder
16. april 2001 - 13:52 #4
Hvordan kan jeg koble det sammen med en menu??
Teksten skal jo ikke komme frem i menuen, men i en anden celle (Jeg bruger ikke frames...)
Avatar billede jakoba Nybegynder
16. april 2001 - 14:21 #5
Såvidt jeg kender til kan du kun gøre det idet hele siden loades.
prøv evt:

i den celle hvor der skal inkluderes:
<script language=\'javascript\'> <!--

if ( location.search.length > 1 ) {
  var scriptId = location.search.substring(1);
  document.write( \"<script src=\'\" +scriptId +\".js\'></script>\" );
} else {
  document.write( \"&nbsp;\" );
}; //endif

// --> </script>

og i menuen:
<a href=\"side_med_celle_i.html?script1\">vis script nr 1</a><br>
<a href=\"side_med_celle_i.html?script2\">vis script nr 2</a><br>
<a href=\"side_med_celle_i.html?script3\">vis script nr 3</a><br>
<a href=\"side_med_celle_i.html?script4\">vis script nr 4</a>

mvh JakobA
Avatar billede rfogh Nybegynder
16. april 2001 - 14:35 #6
Det virker helt perfekt!!! Tusind tak!

Lige et bi-spørgsmål:
Har du et hurtigt script til at vise et tilfældigt billede?
Det er ligemeget, hvis ikke :o)
Avatar billede jakoba Nybegynder
16. april 2001 - 14:46 #7
takker :)

i body hvor billedet skal være:

<script language=\'javascript\'>
var pics = new Array( \"billed1.jpg\", \"billed2.jpg\", \"billed3.jpg\" );
var valgt = pics[ Math.floor( Math.random()*pics.length ) ];
document.write( \"<img src=\'\" +valgt +\"\' width=200 height=300>\" );
</script>

hvis ikke alle billederne har sanne størrelse (her 200x300) må du enten udelade width og height parametrene eller også lave scriptet en god del mere kompliceret.

mvh JakobA
Avatar billede rfogh Nybegynder
16. april 2001 - 19:34 #8
Mange tak :o)
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