Avatar billede dk-andersson Nybegynder
06. oktober 2009 - 10:52 Der er 6 kommentarer og
1 løsning

Er det muligt at ligge to variabler sammen

Hey

jeg sider og leger lidt med noget javascript men er ramt hovedet mod en mur et par gang nu. Jeg prøver at køre en løkke som skal lave nogle variabler ud fra værdi i. Men kan ikke rigtig få det til at virker håber at der er nogen som har en løsning eller ledetråd til mig.

<script type="text/javascript">
        for(i = 1; i < <?=$frontpage_count?>;i++;) {
        var idnow+i = 1;
        var doit+i = true;

        function skift_pic+i() {
            Effect.Fade('front'+i+'_'+idnow1, { duration: 2.0 });
            idnow+i++;
                if(idnow1 > 3)
                    idnow1=1;
                    Effect.Appear('front'+i+'_'+idnow1, { duration: 2.0 });
                    doit+i = false;
                    setTimeout("skift_pic"+i+"()", 4500);
                }
       
        setTimeout("skift_pic"+i"()", 3000);
        a++;
        }
        </script>
Avatar billede knas Nybegynder
06. oktober 2009 - 11:22 #1
Ja, du skal bruge eval()

eval('var idnow' + i + ' = 1;');
eval('var doit' + i + ' = true;');
Avatar billede dk-andersson Nybegynder
06. oktober 2009 - 12:30 #2
nice det virkede lige en lille ting mere. Er det muligt at få javascript til at fortælle mig hvor i mit array jeg befinder mig..

lad os sige at array[1] - giver et resultat men jeg vil gerne have javascript til at fortælle mig at jeg er i nr. 1 på mit array. Kan dette lad sige gøre?
Avatar billede ebusiness Nybegynder
06. oktober 2009 - 13:57 #3
Jeg vil meget gerne se det stykke kode som virker, det kunne godt gå hen og blive en klassiker indenfor obfuskation. Men jeg tvivler nu på at du rent faktisk har fået det til at virke eksakt som du ønsker, der skal i hvert fald flere ændringer til end dem knas foreslog.

Men altså, jeg synes ikke at det er specielt pædagogisk af knas at hjælpe dig med at fortsætte den stil du har lagt. Din kode skal være helt anderledes (og meget simplere) hvis det skal være til at have med at gøre.

Du kan sikkert blive en god programmør, du skal bare lige lære at gå over broen i stedet for at forsøge at svømme ;-)

Jeg overveje at skrive din funktion for dig, men jeg tror du vil få rigtigt meget ud af at gøre det selv, så jeg giver dig i stedet en ramme til at skrive det på en mere gennemskuelig måde.

Du skal bruge en funktion med to parametre, og så en loop lidt ligesom den du allerede har til at initiere, blot skal du ikke definere funktionen inde i loopen.

<script type="text/javascript">
function skift_pic(a,b){

}

for(i=1;i < <?=$frontpage_count?>;i++){

}
</script>
Avatar billede dk-andersson Nybegynder
06. oktober 2009 - 14:20 #4
Hey... mange tak for dit svar.. Der er jo kun en måde at lære det på og det er ved at prøve forskellig ting. ;-)

Grunden til at jeg har valgt at lave den funktion med en loop uden om er at jeg i virkeligheden havde en ideen om at lave en funktion ud fra en databases indehold.

Har snakket lidt med nogle andre venner som sagde at det skulle jeg holde mig fra da det er alt for tungt at arbejde med og de viste slet ikke om det kunne lade sig gøre.

Men lad os sige at jeg har 2 kategorier som link til nogle andre ting i en database.

Jeg vil nu hvis et slidshow ud fra de billeder som ligger i linket.

For at jeg så ikke skulle side og lave det samme funktions kald ville jeg lave et script som selv skabt de funktion som var krævde for at få det til at virker.

Men jeg leger bare vider med det ;-)
Avatar billede knas Nybegynder
06. oktober 2009 - 15:10 #5
Ja, jeg beklager mit direkte svar, ebusiness. Jeg fik bare ikke angivet at det var et svar, så det gør jeg lige her.
Avatar billede ebusiness Nybegynder
06. oktober 2009 - 19:20 #6
Det er nu ikke fordi at der er noget galt i at svare direkte, problemet er at han er på galt spor med overkompliceret kode som ikke er til at overskue, i stedet for at gå til kernen af problemet og fortælle ham at han skal kode på en anden måde nøjes du blot med at give ham eval til at gøre den umulige kode mulig.
Avatar billede olebole Juniormester
07. oktober 2009 - 20:40 #7
<ole>

eval er JavaScript's ubetinget dårligst performende funktion. At bruge den i et loop er mildt sagt i hegnet!

Derudover er den komplet overflødig i det viste eksempel, hvis man - som ebusiness antyder - i udgangspunktet bruger en mere hensigtsmæssig kode  =)

/mvh
</bole>
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