Avatar billede le_bon Nybegynder
22. juli 2002 - 20:10 Der er 23 kommentarer og
1 løsning

Er der nogen der kan ændre dette script så det kan bruges???!!!!

Jeg har en rolldown-menu, hvor funktionaliteten (navigationen) ændres inde i dette ActionScript:

function doSubSection (target, sub) {
  _root.currentSelection = target +" "+ sub;
  closeSubs(currentOpen);
    }

Som du nok kan regne ud er det eneste der ændrer sig når man klikker på submenu-knapperne, "currentSelection" til "main1 sub2", "main2 sub5" etc.

Det kan jeg jo ikke rigtigt bruge til en rigtig menu, så er der nogen der kan ændre dette script, så navigationen vil fungere med loadMovie?!

M.v.h. Simon
Avatar billede barklund Nybegynder
23. juli 2002 - 09:09 #1
Jeg tror, at en .fla ville gøre underværker, hvis du ikke smider mere kode end ovenstående...

Man har jo ikke en jordisk chance for at hjælpe ud fra dette...

Læg en .fla op på nettet, så skal der nok ske noget...
Avatar billede le_bon Nybegynder
23. juli 2002 - 12:50 #2
Du har ganske ret, her ligger fla'en:  http://www.ecreate.dk/lebon/menu.fla
Avatar billede barklund Nybegynder
23. juli 2002 - 17:36 #3
Det er jo mx... det har jeg ikke på den maskine, hvor jeg sidder nu... måske jeg kigger på det en anden dag...
Avatar billede barklund Nybegynder
27. juli 2002 - 21:06 #4
Har du en mail... nu har jeg modificeret den, så du angiver dine arrays som:

<code>
mainSections = new Array("About", "Portfolio", "Danfysik");
// -- one array for each main Section -
subSection0 = new Array(["Author","author.swf"],                    ["Stuff","stuff.swf"]);
subSection1 = new Array(["First","first.swf"],
            ["Second","second.swf"],
            ["Third","third.swf"],
            ["And the last","last.swf"]);
   
subSection2 = new Array(["Products", "products.swf"],
            ["Links", "links.swf"],
            ["About", "about.swf"]);
</code>

Første del er linkets navn, anden del den film, der skal loades...

De bliver loadet ind i et movieclip, "clipholder", placeret i _root.

Jeg kan smide den på mail, så du kan uploade den til din server til alles fornøjelse, men har desværre ikke en server selv... Vil du ikke have din mail ud her, så oplys den på morten@barklund.dk

/Barklund :o)
Avatar billede barklund Nybegynder
28. juli 2002 - 18:04 #5
Er du borte?
Avatar billede barklund Nybegynder
31. juli 2002 - 10:05 #6
Haaaalloooo? Jeg har lavet det... vil du ikke have resultatet?
Avatar billede barklund Nybegynder
05. august 2002 - 12:38 #7
Vil du ikke lige have mailen først...? :o)
Avatar billede barklund Nybegynder
05. august 2002 - 12:41 #8
You've got mail...
Avatar billede le_bon Nybegynder
05. august 2002 - 14:20 #9
Hej Morten, jeg har siddet og fidlet med det, men i min menu skriver den f.eks. "Links,links.swf" og ikke bare "Links"!

Desuden kan jeg ikke få den til at loadMovie, - har det mon noget at gøre med: "De bliver loadet ind i et movieclip, "clipholder", placeret i _root." -som jeg ikke helt er med på?
/Simon
Avatar billede barklund Nybegynder
05. august 2002 - 16:43 #10
Du skal bruge den fil, som jeg har sendt dig... Gør du ikke det?
Avatar billede le_bon Nybegynder
05. august 2002 - 17:18 #11
Jo, jo, men der har jeg også problemer med at få den til at loadMovie. Jeg har bare lagt .swf'en i den samme folder, er det ikke rigtigt?
Avatar billede barklund Nybegynder
05. august 2002 - 17:27 #12
Så burde den skrive det rigtige navn i menuerne... Jeg har testet det i den fil, som du har fået... Smid lige hele koden fra movieclippet (den med meget kode) herinde (har ikke MX)
Avatar billede le_bon Nybegynder
05. august 2002 - 17:45 #13
onClipEvent (load) {
    // -- set up names of main items here
    // -- you can add as many new sections as you want (or your computer can handle)
    mainSections = new Array("Profile/Philosophy", "Products", "News/Projects", "Requests", "Contacts", "Danfysik Worldwide", "Job Opportunities");
    // -- one array for each main Section -
    //subSection0 = new Array("zero", "One", "Two", "Three", "Four", "Five");
    subSection1 = new Array(["Magnets", "magnets.swf"], ["Electrostatics", "electrostatics.swf"], ["Power Supplies","powersupplies.swf"], ["Current Transducer","currenttransducer.swf"], ["Particle Accelerators","particleaccelerators.swf"], ["Synchrotrons","synchrotrons.swf"], ["Other Products","otherproducts.swf"]);
    //subSection2 = new Array("News", "Newsletters", "Submit to Newsletters", "Projects");
    //subSection3 = new Array("Info", "Service");
    //subSection4 = new Array("Visit DANFYSIK", "Sales Group", "Management", "Business Developer", "Finance & Administration", "Physics Group", "Electronics Group", "CurrentTransducer Group", "Quality Assurance");
    //subSection5 = new Array("DANFYSIK A/S", "OXFORD DANFYSIK", "Outside Europe");
    //subSection6 = new Array();
    // --
    // --
    // -- build the main buttons
    for (i=0; i<mainSections.length; i++) {
        attachMovie("mainButton", "main"+i, i+100);
        myButton = this["main"+i];
        myButton.subs = this["subSection"+i];
        myButton.button.value = mainSections[i];
        myButton._x = myButton._width*i;
        // -- build subsection buttons for each main button
        for (x=0; x<myButton.subs.length; x++) {
            myButton.attachMovie("subButton", "sub"+x, x);
            mySub = myButton["sub"+x];
            mySub.button.value = myButton.subs[x];
            mySub.button.outYpos = myButton._height+(mySub._height*x);
        }
    }
    // -- function that opens the subsection on rollover
    function openSubs (target) {
        for (i=0; i<this[target].subs.length; i++) {
            subMenuCounter = 0;
            this[target]["sub"+i].button.newY = this[target]["sub"+i].button.outYpos;
            currentOpen = target;
        }
    }
    // -- close subsections function
    function closeSubs (target) {
        for (i=0; i<this[target].subs.length; i++) {
            this[target]["sub"+i].button.newY = this[target]["sub"+i].button.oYpos;
        }
    }
    // - this is the fuction you would change to load content, or add more functionality to the buttons
    function doSubSection (target, sub) {
        _root.currentSelection = this[target][sub].urlvalue;
        _root.clipholder.loadMovie(this[target][sub]);
        closeSubs(currentOpen);
    }
}
onClipEvent (enterFrame) {
    // -- a timer that closes the menus after a certain amount of time
    subMenuCounter++;
    if (subMenuCounter>300) {
        closeSubs(currentOpen);
        subMenuCounter = 0;
    }
}
onClipEvent (mouseUp) {
    // -- this closes the curently open submenu if the user clicks outside of the menu
    if (!this.hitTest(_root._xmouse, _root._ymouse)) {
        closeSubs(currentOpen);       
    }
}
Avatar billede barklund Nybegynder
05. august 2002 - 18:00 #14
Denne linie:

mySub.button.value = myButton.subs[x];

Skal da vist ændres til:

mySub.button.value = myButton.subs[x][0];

Desuden skulle der ude i _root ligge et lille movieclip, der er tomt (illustreret ved en lille bitte hvid cirkel), der hedder clipHolder... er der ikke det?
Avatar billede barklund Nybegynder
05. august 2002 - 18:03 #15
Jeg tror endda, at den skal tilføjes linien lige bagefter:

mySub.button.urlvalue = myButton.subs[x][1];

Og i doSubSection skal der rettes til:

_root.clipholder.loadMovie(this[target][sub].urlvalue);

Det kunne godt se ud som en halvfærdig fil du har fået der... Beklager... :o)
Avatar billede le_bon Nybegynder
05. august 2002 - 18:07 #16
Du er fandeme hård i filten! Det er korrekt!

Men den vil stadig ikke loadMovie, jeg får fejlmeddelelsen:
Error opening URL "file:///C|/Documents%20and%20Settings/w/Desktop/_level0.holder.main1.sub0"
Avatar billede barklund Nybegynder
05. august 2002 - 18:17 #17
Har du tilføjet ".urlvalue" som vist?

Prøv at skrive:

trace(this[target][sub].urlvalue);
_root.clipholder.loadMovie(this[target][sub].urlvalue);
Avatar billede le_bon Nybegynder
05. august 2002 - 18:47 #18
Jeg er bange for at du har smidt mig lidt af, (jeg kører ikke så hurtigt)
Altså: Jeg har ændret til "mySub.button.value = myButton.subs[x][0];"

      "mySub.button.urlvalue = myButton.subs[x][1];" skal tilføjes lige under(???)
   
      "_root.clipholder.loadMovie(this[target][sub].urlvalue);" er rettet i doSubsection

      "trace(this[target][sub].urlvalue);
_root.clipholder.loadMovie(this[target][sub].urlvalue);" skal skrives hvor(???)


Jeg har ikke noget movieclip der hedder clipHolder
Avatar billede barklund Nybegynder
05. august 2002 - 19:05 #19
trace-linien skal skrives lige før den anden linie, som du jo selv skriver, at du lige har rettet...

Går ud til din hovedscene. Tryk Ctrl+F8 (create new symbol). Giv det navnet Dummy, et movieclip. Gå tilbage til din hovedscene og træk det helt tomme movieclip ind fra dit library og giv det instancenavnet "clipholder" i instance-panellet (Ctrl+i);
Avatar billede le_bon Nybegynder
05. august 2002 - 19:46 #20
nu siger fejlmeldingen bare: "undefined" når jeg klikker på et link! -Jeg har lagt en .swf med det korrekte navn!
Avatar billede barklund Nybegynder
05. august 2002 - 21:12 #21
Lige under linien:

mySub.button.value = myButton.subs[x][0];

Skal du skrive følgende istedet:

mySub.urlvalue = myButton.subs[x][1];

Altså ikke "myButton.button" som jeg prøvede at bilde dig ind tidligere... Så skulle der ske noget... :o)
Avatar billede le_bon Nybegynder
05. august 2002 - 21:19 #22
Du er verdensmester!!!!!!!
Jeg håber de gi'r dig en ordentlig løn derinde på shockwaved!!!
Tak for hjælpen, mvh. Simon
Avatar billede barklund Nybegynder
05. august 2002 - 21:31 #23
Tak for point... så virker det altså?
Avatar billede barklund Nybegynder
05. august 2002 - 21:41 #24
Mht. løn så vil jeg sige, at jeg er rimeligt højt betalt freelancer i et studiejob, ja... :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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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