Avatar billede snigeren Nybegynder
10. juli 2003 - 11:00 Der er 46 kommentarer og
2 løsninger

dynamisk indhold scrolles?

Hej

Her er lige en om formulering af et tidligere spørgsmål jeg skrev:

Altså, mit problem er følgende: jeg henter en masse variabler fra en database ind i flash (billeder, tekst og links). De variabler skal være scrollable og det havde jeg tænkt mig kunne gøres i et scrollpane component...
men jeg kan ikke få scrollpane componenten til at scrolle det dynamiske indhold, hvis jeg smider noget fast grafik ind i movie clippet der skal scrolles virker det fint men den scroller kun til når der ikke er mere fast grafik =(

hvad kan jeg gøre for at kunne scrolle det dynamiske indhold?

Link til tidligere spørgsmål: http://www.eksperten.dk/spm/372239

/Snig
Avatar billede barklund Nybegynder
10. juli 2003 - 11:07 #1
scrollPane.refreshPane();
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:14 #2
super duper,.. nu virker det ski,.. thx a bunch mester =)

hil barklund !

smid lige et svar =D
Avatar billede barklund Nybegynder
10. juli 2003 - 11:20 #3
k
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:23 #4
hmm det virker ski ikke alligevel,.. jeg fandt ud af at jeg havde en tynd streg et stykke nede i mit mc =((

har du en anden god ide ?
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:27 #5
den fatter ikke at scrolle andet end det faste indhold,... så når der ikke er mere fast indhold scroller den ikke længere =(
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:30 #6
eller skal der scriptes en anden scroller? jeg er lidt på bar bund her =|
Avatar billede thulstrup Nybegynder
10. juli 2003 - 11:32 #7
Jeg havde selv tidligere samme problem, hvor Barklund kom til undsætning med scrollPane.refreshPane(); så jeg at det er det der skal til. Hvordan loader du dine variabler? Se evt. på eksemplet her:

loadVariabler = new LoadVars();
loadVariabler.load("variabler.php?nocache="+new Date().getTime());
loadVariabler.onLoad = function(success) {
    if (success) {
        billeder = this.billeder;
        tekst = this.tekst;
        links = this.links
        _root.scrollPane.refreshPane();
    }
};
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:37 #8
jeg henter variablerne således:

loadVariables("http://......./news_flash.php", this, "POST");
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:40 #9
og disse oplysninger får jeg fra php:

&dbmax=5& &date1=20.06.2003& &headline1=overskrift+tekst+her& &teaser1=her+står+hovedteksten& &picture_prev1=/...../pictures/preview/8745_1056133263.jpg& &laeslink1=java script:PopWin('news_popup.php?id=14')&
Avatar billede thulstrup Nybegynder
10. juli 2003 - 11:44 #10
og husker du først at køre scrollPane.refreshPane(); når variablerne er hentet ind?
Avatar billede snigeren Nybegynder
10. juli 2003 - 11:48 #11
jeg prøver lige at finde ud af hvor den skal stå =)) den må jo helt sikkert stå forkert ellers burde det virke,... nu spørger jeg lige (forhåbent ikke dumt) men scrollPane.refreshPane();  er vel instancepåpane.refreshPane(); ?
Avatar billede thulstrup Nybegynder
10. juli 2003 - 11:52 #12
jep
Avatar billede snigeren Nybegynder
10. juli 2003 - 12:08 #13
cellb10ck >> kunne man overtale dig til at lave en lille .fla fil der henter de variabler ind jeg skrev ovenfor ?

dbmax er vel lidt ligemeget,... jeg skal ikke bruge det tal til noget,.. tror jeg.

til allersidst har jeg en &error=0& som bare fortæller flash at der ikke kommer flere indlæg.

Men det ville være super fedt hvis du kunne overtales til at lave en lille flash fil der henter alle de indlæg der måtte komme,... bare med en tekst og et billede,.. glem linket,...

de skal bare stå under hinanden i en lang række,... det må kunne lade sig gøre for mig at fatte det så.

plz, hvis du vil skal jeg nok smide flere points på =)
Avatar billede barklund Nybegynder
10. juli 2003 - 12:09 #14
Brug LoadVars når du nu bruger MX alligevel...
Avatar billede snigeren Nybegynder
10. juli 2003 - 12:11 #15
indlæg 1 hedder
&billed1& &headline1& &teaser1&

indlæg 2 hedder
&billed2& &headline2& &teaser2&

osv....
Avatar billede snigeren Nybegynder
10. juli 2003 - 12:30 #16
Jeg kan ikke helt hitte ud af hvordan jeg laver den her onLoad function

loadVariabler.onLoad = function(success) {
    if (success) {
        billeder = this.billeder;
        tekst = this.tekst;
        links = this.links
        _root.scrollPane.refreshPane();
    }
};

hvordan skriver jeg den med mine variabler?

indlæg 1 hedder
&billed1& &headline1& &teaser1&

indlæg 2 hedder
&billed2& &headline2& &teaser2&

osv....
Avatar billede snigeren Nybegynder
10. juli 2003 - 12:53 #17
jeg fandt lige dette spørgsmål:
http://www.eksperten.dk/spm/334148


måske begynder jeg at fatte noget af det nu... men hvordan får jeg variabler ud af loadVars objectet og ind i dette script?

if (i<=_parent.dbmax) {
    this.attachMovie("file", "file"+i, i);
    this["file"+i]._y = (i-1)*145;
    this["file"+i].head = _parent["headline"+i];
    this["file"+i].txt = _parent["teaser"+i];
    this["file"+i].date = _parent["date"+i];
    trace(_parent["link"+i]);
    if (_parent["link"+i] == "0") {
        this["file"+i].more._visible = 0;
    }
    loadMovie(_parent["picture_prev"+i], this["file"+i].pic);
    i++;
    gotoAndPlay("loop");
} else {
    stop();
}
Avatar billede thulstrup Nybegynder
10. juli 2003 - 13:18 #18
hvis du f.eks har en variblen date1=20.06.2003, så får du fat i den med this.date1
Avatar billede snigeren Nybegynder
10. juli 2003 - 13:23 #19
jeg prøver lige at forklare strukturen af min flash fil:

1. jeg henter variablerne ind i roden.
2. I roden ligger også et mc med instance content_mc.
3. I content_mc ligger koden  rif (i<=_parent.dbmax) { ......
4. I content_mc ligger også et mc uden instance,..    file
5. I file movieclippet findes de textfields som skal have teksten fra variablerne og et movieclip der tager imod billederne.


kan man lokke dig til lige at skrive 1 af linierne fra mit script lidt længere oppe så det står rigtigt i:
loadVariabler.onLoad = function (success){
    if (success){
        trace ("done loading");
    } else {
        trace ("not loaded");
    }
}

og hvor skal jeg placere denne function ?
Avatar billede snigeren Nybegynder
10. juli 2003 - 14:18 #20
ifølge den opbygning jeg har beskrevet herover, er det så korrekt at jeg skal skrive noget lignende:

loadVariabler.onLoad = function (success){
    if (success){
        content_mc.this["file"+i].head = ["headline"+i];
        content_mc.this["file"+i].txt = ["teaser"+i];
        content_mc.this["file"+i].date = ["date"+i];
        trace ("done loading");
    } else {
        trace ("not loaded");
    }
}

eller hvordan skal dette forståes ?
Avatar billede barklund Nybegynder
10. juli 2003 - 14:29 #21
loadVariabler.onLoad = function (success){
    if (success){
        content_mc["file"+i].head = this["headline"+i];
        content_mc["file"+i].txt = this["teaser"+i];
        content_mc["file"+i].date = this["date"+i];
        trace ("done loading");
    } else {
        trace ("not loaded");
    }
}
Avatar billede snigeren Nybegynder
10. juli 2003 - 15:26 #22
ahhh det er ved at dæmre lidt nu,... jeg tænker lige viddere =D
Avatar billede snigeren Nybegynder
11. juli 2003 - 12:59 #23
hmmm jeg har virkelig brug for hjælp med denne opgave,...

plz er der ikke nok en der vil se på min flash fil?

http://www.triodimenzionale.dk/misc/newstest.zip

i zip filen er newstest.fla og en txt fil med data til flash filen
jeg tror ikke det tager lang tid for garvede folk som cellb10ck, barklund og mat =)    men jeg opgiver snart, syntes jeg har prøvet alt, har brugt 15 timer på alt i alt tror jeg =/

Jeg smider med glæde flere points i, hvis bare i kan hjælpe mig.

/Snig
Avatar billede snigeren Nybegynder
11. juli 2003 - 13:08 #24
jeg ligger på mine grædende knæ!
Avatar billede snigeren Nybegynder
11. juli 2003 - 14:16 #25
mit store problem lige nu er, når jeg scroller de data jeg henter ind i flash blinker de eller forsvinder når jeg tester det i flash,.. når jeg har uploadet det virker det fint på min pc....
men når jeg afprøver det på en mac kommer der slet ikke noget af det dynamiske data frem.

Den dynamiske data kommer fint frem hvis ikke det bliver placeret i scrollpane.
Avatar billede snigeren Nybegynder
11. juli 2003 - 14:18 #26
cellb10ck >> du lavede noget lignende engang sagde du,.. kunne man tilfældvis få din arbejdsfil så jeg har noget at sammenligne med?
Avatar billede thulstrup Nybegynder
11. juli 2003 - 15:08 #27
Avatar billede snigeren Nybegynder
11. juli 2003 - 15:57 #28
du er simpelthen for dejlig =D

det virker alt for nice,... kan du sige mig, hvad det var jeg gjorde forkert?

og kan du eventuelt forklare mig hvordan det hænger sammen nu og hvorfor du har undladt at placere noget af det på scenen?

det ville hjælpe mig meget,..

jeg smider lige lidt flere point på for du har simpelthen hjulpet mig mere end du tror =)
Avatar billede thulstrup Nybegynder
11. juli 2003 - 16:09 #29
Glad for at du kunne bruge det :-)

Du havde opbygget din film meget besværligt/uoverskueligt, så jeg startede forfra.

Der er ikke placeret noget på scenen fordi vi tilføjer det hele dynamisk.

En kort gennemgang:
I roden af filmen starter vi med at attache et scollpane:
FScrollPane_sp = attachMovie("FScrollPaneSymbol", "FScrollPane", 1);

så sætter vi indholdet af scrollpanet:
FScrollPane_sp.setScrollContent("scrollindhold_mc");

i "scrollindhold_mc" loader vi teksten med LoadVars og når det er gjort attacher vi x (bestem af dbmax) antal "file" movieclip og fylder tekstfelterne i de attachede "file" mc's med de loaded variabler.
Avatar billede snigeren Nybegynder
11. juli 2003 - 16:19 #30
Cellb10ck >> du får 60 points for din ulejlighed
barklund >> det var meget brugbart det jeg fik at vide af dig oxo men da Cellb10ck lavede det for mig får han hovedparten af points så du får 20 =))

lige et hurtigt spørgsmål,.. hvor lang tid tog det dig at lave? bare lidt nysgerrig, det er jo meget rart at vide hvor meget af folks tid man render rundt og bruger her... ikke at jeg vil overhælde dig med opgaver =)

den evigt taknemmelige
Snigeren
Avatar billede snigeren Nybegynder
11. juli 2003 - 16:24 #31
ey forresten Cellb10ck,... smider du ikke lige et svar i nedenstående spørgsmål =)

http://www.eksperten.dk/spm/366286
Avatar billede thulstrup Nybegynder
11. juli 2003 - 16:36 #32
Tog vel små 10 minutter. Det der tog længst tid at finde ud af, var at du havde slået export in first frame fra på dit "file" mc :-)

Har svaret på dit andet spørgsmål nu.
Avatar billede snigeren Nybegynder
11. juli 2003 - 16:40 #33
hvordan sætter man forresten billedet fra de variabler ind i det der tilhørende "pic" mc i "file" mc´et,... jeg prøvede lige at smide følgende kode ind i den loadVariabler.onLoad = .....  du skrev

loadMovie(_parent["picture_prev"+i], this["file"+i].pic);

men da jeg skrev den kode, kom der slet ikke noget af det dynamiske ind =(
hvad gør jeg forkert ?
Avatar billede thulstrup Nybegynder
11. juli 2003 - 16:58 #34
Prøv med:

_parent.tmp_mc["file"+i].pic.loadMovie(this["picture_prev"+i]);
Avatar billede snigeren Nybegynder
11. juli 2003 - 17:08 #35
funkyyy det virker saft suseme,.. thx a bunch igen,.. nu kan mit hoved ikke klare mere for idag, er helt skadet af alt den tænken,.. det eneste der kan redde mig er en tur i byen =))
Avatar billede snigeren Nybegynder
14. juli 2003 - 10:07 #36
hehe lige en sidste ting,... hvordan bestemmer jeg egentlig start positionen af det første file klip? Lige nu syntes jeg ikke jeg kan finde nogen steder hvor placeringen står
Avatar billede snigeren Nybegynder
14. juli 2003 - 10:16 #37
ahh jeg kan se at den bare står i 0,0 i scrollindhold_mc men hvordan kan man styre hvor det første mc skal være hvis ikke det skal stå i 0,0?

de næste mc´s bliver skubbet 145 ned

loadVariabler.onLoad = function(success) {
    if (success) {
        for (i=1; i<=this.dbmax; i++) {
            _parent.tmp_mc.attachMovie("file", "file"+i, 100+i);
            _parent.tmp_mc["file"+i]._y = (i-1)*145;
            _parent.tmp_mc["file"+i].head = this["headline"+i];
            _parent.tmp_mc["file"+i].txt = this["teaser"+i];
            _parent.tmp_mc["file"+i].date = this["date"+i];
            _parent.tmp_mc["file"+i].pic.loadMovie(this["picture_prev"+i]);
        }
        _root.news1_mc.FScrollPane_sp.refreshPane();
    } else {
        trace("not loaded");
    }
}
Avatar billede barklund Nybegynder
14. juli 2003 - 10:21 #38
loadVariabler.onLoad = function(success) {
    if (success) {
                var start_x = 20;
                var start_y = 20;
        for (i=1; i<=this.dbmax; i++) {
            _parent.tmp_mc.attachMovie("file", "file"+i, 100+i);
            _parent.tmp_mc["file"+i]._y = start_y+(i-1)*145;
            _parent.tmp_mc["file"+i]._x = start_x;
            _parent.tmp_mc["file"+i].head = this["headline"+i];
            _parent.tmp_mc["file"+i].txt = this["teaser"+i];
            _parent.tmp_mc["file"+i].date = this["date"+i];
            _parent.tmp_mc["file"+i].pic.loadMovie(this["picture_prev"+i]);
        }
        _root.news1_mc.FScrollPane_sp.refreshPane();
    } else {
        trace("not loaded");
    }
}
Avatar billede snigeren Nybegynder
14. juli 2003 - 10:27 #39
og forresten kan du ikke lige forklare mig hvad du bruger tmp_mc til i f.eks.:
_parent.tmp_mc.attachMovie("file", "file"+i, 100+i);

og er denne kode definitionen på det tmp_mc eller står den et andet sted?
Avatar billede barklund Nybegynder
14. juli 2003 - 10:59 #40
Jeg bruger ikke tmp_mc til noget ;)

Men jeg går ud fra, at det er et enten dynamisk eller attachet movieclip, som bliver sat til scrollContent for din scrollPane - definitionen ligger et andet sted
Avatar billede snigeren Nybegynder
14. juli 2003 - 11:15 #41
jeg havde ikke lige set din komment da jeg skrev du =))  det var fordi cellb10ck har lavet et super fint script til mig så ville jeg spørge om noget deri =)
Avatar billede snigeren Nybegynder
14. juli 2003 - 11:17 #42
barklund >> hvis du skulle smide et link ind i de scripts der er posted idag, hvordan kunne det så gøres ?

link string hedder: &laeslink1=java script:PopWin('news_popup.php?id=5')&
Avatar billede snigeren Nybegynder
14. juli 2003 - 11:25 #43
kunne det være noget i stil med:

...
_parent.tmp_mc["file"+i].pic.loadMovie(this["picture_prev"+i]);
_parent.tmp_mc["file"+i].more_mc.onPress = function() {
getURL(this["laeslink"+i]);
}
...

more_mc er link knappen..
Avatar billede snigeren Nybegynder
14. juli 2003 - 11:26 #44
men lige det script der virker ikke =)
Avatar billede barklund Nybegynder
14. juli 2003 - 11:34 #45
Nej selvfølgelig ikke... for onPress funktionen bliver jo eksekveret i knappen's scope, og der findes this["laeslink"+i] ikke...

Altså skal url'en først kendes af knappen, og så kan man trykke...

_parent.tmp_mc["file"+i].pic.loadMovie(this["picture_prev"+i]);
_parent.tmp_mc["file"+i].more_mc.url = this["laeslink"+i];
}
_parent.tmp_mc["file"+i].more_mc.onPress = function() {
getURL(this.url);
}
Avatar billede snigeren Nybegynder
14. juli 2003 - 12:48 #46
super duper,.. nu virker det oxo,.. når du nu siger knappens scope hvad helt præcis er det ?
Avatar billede barklund Nybegynder
14. juli 2003 - 12:58 #47
Det vil sige, at når onPress kører, så er "this" en reference til knappen - og ikke til dit loadVariabler-objekt.
Avatar billede snigeren Nybegynder
14. juli 2003 - 13:14 #48
ahh ok,.. fedt nok jeg har da lært en del af det her problem

jeg takker endnu engang.
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