14. oktober 2007 - 09:57Der er
11 kommentarer og 2 løsninger
Få kald fra knap til at kalde skiftevis imellem to script
Jeg har en knap som kalder på en funktion. og så har jeg to script som udføre hver sin funktion. så vil jeg gerne have det sådan at når man aktivere knappen så kalder den skiftevis imellem de to script/funktioner. altså første gang man klikker på knappen kalder man på funktion A næste klik så kalder den på funktion B tredie klik kalder så på funktion A igen OSV kan man lægge funktionerne fra de to script ind i et´ script, som så kalder funktionerne skiftevis eller hvordan gør man det ? de to script kalder i øvrigt på den samme ID, bare med hver sin funktion. de to script ser sådan ud >
<SCRIPT type="text/javascript"><!-- function kald1() { Dims = document.getElementById("tingen") if (Dims) { ///do the 'thing' Dims.Stop(); } } //--> </SCRIPT>
<SCRIPT type="text/javascript"><!-- function kald2() { Dims = document.getElementById("tingen") if (Dims) { ///do the 'thing' Dims.Run(); } } //--> </SCRIPT>
kalp > Det virker kun "næsten" problemet er at første gang man klikker på knappen så sker der intet, først ved andet klik kører den dims.stop() klikker man så en gang mere køre den så dims.run() som den skal og ved gentagende klik skifter den frem og tilbage som den skal. men det aller første klik er altså virkningsløst ?
så har jeg afprøvet det script keysersoze lagde, det køre fint fra første klik på knappen, og skifter fint som det skal, men der får jeg så et andet problem, for hvis bruger har klikket så dims.stop() er blevet kørt, så kan man komme ud for at "noget andet" på siden starter dimsen op igen, og klikker man så på knappen så køre den jo dims.run() hvor man i virkeligheden havde brug for dims.stop() jeg ved godt at scriptet gør presis hvad jeg bad om, men kan man gøre noget for at fikse det lille problem, eller kan kelp´s script komme til at virke, for det havde jo ikke det problem c",)
jeg gav op over for at finde ud af hvorfor scriptet fra kalp først virkede efter to klik.
Jeg bruger i stedet scriptet fra keysersoze 14/10-2007 10:42:14
problemet med at en anden ting på siden nogen gange får "dimsen" til at starte, og at scriptet derfor kom "ud af trit" har jeg løst ved at den anden ting på siden som forårsager start den får jeg til at køre funktionen runfunc = 1; som så resætter scriptet men så er jeg i tvivl om hvordan mit kald skal se ud jeg kalder på den sammen med en stribe andre funktioner eksempelvis ScriptHej():runfunc = 1;ScriptDav(): og så er jeg i tvivl om det er den rette måde eller jeg skal pakke 1 tallet ind i paranteser () ? altså runfunc = 1; eller runfunc = (1); begge dele virker men hvad er korrekt ?
Smid i bare Svar begge to, takker for hjælpen c",)
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.