02. oktober 2003 - 23:52
Der er
8 kommentarer og 1 løsning
funktion til kø af funktioner
Under den kryptiske titel gemmer sig følgende spørgsmål: Kan man stille funktioner der skal afvikles i en 'kø', således at den næste funktion i køen først afvikles når den foregående funktion er færdig? Eksempel: trekant.slideTo(0, 189); kasse.resizeAndSlideTo(500, 350, 250, 5); cirkel.slideTo(152, 125); kasse.resizeAndSlideTo skal først køres når trekant.slideTo er færdig. cirkel.slideTo skal først køres når kasse.resizeAndSlideTo er færdig.
Annonceindlæg fra Cognizant
03. oktober 2003 - 00:52
#1
Ja, det hedder callback eller event-model. Er disse termer helt fremmede for dig, så vil jeg lade være med at rode for meget med det, men det handler om at kalde en generel funktion når "man" er færdig med sin opgave som så sørger for at denne næste funktion går i gang. Der er ikke nogen "indbygget" måde at gøre det på.
03. oktober 2003 - 09:10
#2
Det er lige det jeg skal bruge! Jeg har en del actionscript erfaring, så jeg håber da, at jeg kan finde ud af det :-) Kan du komme med et eksempel på hvordan det kan gøres?
03. oktober 2003 - 10:36
#3
Uha, det kræver lidt omtanke at strukturere... Og det har jeg desværre ikke tid til på denne side af weekenden :/ Men jeg skal nok vende tilbage mandag :)
06. oktober 2003 - 20:09
#4
Hej igen Barklund. Hvordan ser det ud? Kan det lade sig gøre? Hvis det er nødvendigt hæver jeg gerne pointantalet.
07. oktober 2003 - 10:26
#5
Tja, problemet ligger lidt i, hvorleder det skal struktureres. Men lad os lave et globalt objekt, FunctionOrganizer. Så skal du add'e på det og til sidst i alle funktioner kalde den næste: var f = _global.FunctionOrganizer = new Object(); f.$_func = new Array(); f.addMethod = function(obj, func, parms) { this.$_func.push({o: obj, f: func, p: parms}); } f.nextMethod = function() { if (this.$_func.length > 0) { var j = this.$_func.shift(); j.f.apply(j.o, j.p); } } FunctionOrganizer.addMethod(trekant, trekant.slideTo, [0,189]); FunctionOrganizer.addMethod(firkant, firkant.resizeAndSlideTo, [500,350,250,5]); FunctionOrganizer.addMethod(cirkel, cirkel.slideTo, [152,125]); FunctionOrganizer.nextMethod(); /Barklund
07. oktober 2003 - 14:56
#6
Det ser rigtigt godt ud Barklund! Jeg tester det lige og vender tilbage, men umidelbart tror jeg at det er perfekt.
07. oktober 2003 - 16:25
#7
Jep, det virker bare som det skal. Super arbejde! Du må gerne smide et svar.
20. oktober 2003 - 22:09
#8
Og et svar her :)
20. oktober 2003 - 22:16
#9
Tak - igen igen
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.