Avatar billede laseb Nybegynder
21. marts 2003 - 12:54 Der er 20 kommentarer

Pile med glidende scroll-effekt?!

Hejsa.
Jeg vil vældig gerne bruge følgende effekt, som jeg ikke lige håndterer. Kan nogen hjælpe:

Når cursoren føres over nedad-pilen, scroller siden ned, glidende - altså uden at man klikker og klikker og klikker! (og selvfølgelig opad på samme måde!)

Jeg ved, den er ganske udbredt - ved bare ikke, hvordan den fungerer.

Gerne grundigt svar...

/Lasse
Avatar billede jakwag Nybegynder
21. marts 2003 - 13:06 #1
se her:
http://www.eksperten.dk/spm/331526
Jeg vil tro at det er det samme problem
Avatar billede jakwag Nybegynder
21. marts 2003 - 13:06 #2
Der er to scripts, et til hvis du placerer det i en frame og et til hvis det skal ligge på en knap
Avatar billede laseb Nybegynder
21. marts 2003 - 13:35 #3
Jeg kan ikke rigtig gennemskue det. Jeg har brug for en grundig gennemgang af, hvad jeg skal gøre - derfor de 60 points.

Forklar gerne  detaljeret, hvad jeg skal lægge i knapperne, hvad jeg skal gøre ved det MC der skal scrolle osv...

/Lasse
Avatar billede jakwag Nybegynder
21. marts 2003 - 13:43 #4
Nåå... Det er et moviclip der skal scrolle, jeg troede at det var en text.

Hvad har du lavet pt.?
Avatar billede laseb Nybegynder
21. marts 2003 - 13:50 #5
Jeg har lavet et par knapper, op og ned og har et movieclip med diverse tekst og billeder, som så gerne skulle scrolle glidende og pænt ned/op når man fører musen over henholdsvis op-/ned-knappen.

/Lasse
Avatar billede jakwag Nybegynder
21. marts 2003 - 13:54 #6
har du en mail? så kan jeg sende et eksempel
Jeg skal nok skrive en forklaring hvis du har brug for det.
Avatar billede laseb Nybegynder
21. marts 2003 - 13:59 #7
lasse@bekker.dk

takker...
Avatar billede jakwag Nybegynder
21. marts 2003 - 14:12 #8
metode 1 (best practice):
På main timeline ligger der et movieclip som indenholder et andet movieclip som er masket så man kun kan se en del af det.
Der ligger også to moviclips (up & down pile).

I samme frame ligger der dette script:

scrollSpeed = 10;
down_mc.onRollOver = function() {
    this.onEnterFrame = function() {
        this._parent.scroll_mc.pic_mc._y -= scrollSpeed;
    };
};
down_mc.onRollOut = function() {
    delete this.onEnterFrame;
};
up_mc.onRollOver = function() {
    this.onEnterFrame = function() {
        this._parent.scroll_mc.pic_mc._y += scrollSpeed;
    };
};
up_mc.onRollOut = function() {
    delete this.onEnterFrame;
};

Først sættes en varabel som kan ændres som indenholder hvor hurtigt filmen skal scrolle.

Så laver jeg en onRollOver function på på down pilen. (altså skriver hvad der skal ske når musen ruller over down pilen)

this referere til down_mc som er et moviclip og derfor looper sig selv hele tiden (det kan man ikke se da det kun indeholder en frame). På this laver jeg en onEnterFrame function (altså en repeat function som vil gentage sig selv 12 gange i sek.)

der trække den givne værdi (scrollSpeed) fra pic_mc's y værdi hver gang loopet køre.

til sidst laver jeg en onRollOut function der sletter loopet (looper_mc.onEnterFrame)
Avatar billede jakwag Nybegynder
21. marts 2003 - 14:23 #9
metode 1 (med buttons):
På main timeline ligger der et movieclip som indenholder et andet movieclip som er masket så man kun kan se en del af det.
Der ligger også to BUTTONS (up & down pile).

I samme frame ligger der denne variabel: scrollSpeed = 10;

på down knappen ligger dette script:

on(rollOver){
    this.createEmptyMovieClip("looper_mc",1);
    looper_mc.onEnterFrame = function() {
        this._parent.scroll2_mc.pic_mc._y += scrollSpeed;
    };
}
on(rollOut) {
    looper_mc.unloadMovie();
}

Dette fungere omtrændt som i metode 1, men en button looper ikke sig selv som et movieclip gør. Derfor laver jeg et moviclip (man kan ikke se det fordi det er tomt) og laver onEnterFrame functionen på det.

istedet for at slette onEnterFramen sletter jeg hele moviclippet
Avatar billede jakwag Nybegynder
21. marts 2003 - 14:23 #10
HOV

det skulle være:
metode 2 (med buttons):
Avatar billede laseb Nybegynder
21. marts 2003 - 15:07 #11
Hej igen.

Tak for filen og den udførlgie beskrivelse. Efter lidt nørklen, fandt jeg ud af, at indholdet skulle have et instansnavn, så nu fungerer det! Dejligt...

En ting mere: Kan jeg ikke lave en "stopklods", så man ikke scrollere længeren ned (hhv op) end indholdet er...

/Lasse
Avatar billede jakwag Nybegynder
21. marts 2003 - 15:08 #12
jeg tænkte nok du ville spørge : )

Bruger du metode 1 eller 2?
Avatar billede laseb Nybegynder
21. marts 2003 - 15:12 #13
He he, nogen siger jo, at én ukløgtig akn spørge mere, end 10 kloge kan svare...

Jeg bruger metoden med scriptet i framen - metode 1...

/Lasse
Avatar billede laseb Nybegynder
21. marts 2003 - 15:13 #14
...især hvis vedkommende ikke kan stave... KAN!
Avatar billede jakwag Nybegynder
21. marts 2003 - 15:16 #15
HA HA!
Avatar billede jakwag Nybegynder
21. marts 2003 - 15:29 #16
Jeg bliver desværre nød til at smutte
er evt. tilbage søndag
Avatar billede laseb Nybegynder
24. marts 2003 - 09:27 #17
Så blev det mandag, og jeg er tibage på min pind,

Ville lige minde om spørgsmålet: Hvordan får jeg scroll-funktionen til at stoppe (med at scrolle!), når siden er rullet helt til top/bund?

Ellers fungerer den jo ikke så fornuftigt... :-)

/Lasse
Avatar billede jakwag Nybegynder
24. marts 2003 - 10:31 #18
scrollSpeed = 10;
down_mc.onRollOver = function() {
    this.onEnterFrame = function() {
        var picH = this._parent.scroll_mc.pic_mc._height;
        var maskH = this._parent.scroll_mc.mask_mc._height;
        var picY = this._parent.scroll_mc.pic_mc._y;
        var maskY = this._parent.scroll2_mc.mask_mc._y;
        if (maskY<picY+(picH-maskH)) {
            this._parent.scroll_mc.pic_mc._y -= scrollSpeed;
        }else{
            this._parent.scroll_mc.pic_mc._y = maskH-picH+maskY;
        }
    };
};
down_mc.onRollOut = function() {
    delete this.onEnterFrame;
};
up_mc.onRollOver = function() {
    this.onEnterFrame = function() {
        var picY = this._parent.scroll_mc.pic_mc._y;
        var maskY = this._parent.scroll2_mc.mask_mc._y;
        if (0>picY-maskY) {
            this._parent.scroll_mc.pic_mc._y += scrollSpeed;
        }else{
            this._parent.scroll_mc.pic_mc._y = maskY;
        }
    };
};
up_mc.onRollOut = function() {
    delete this.onEnterFrame;
};
Avatar billede jakwag Nybegynder
24. marts 2003 - 10:34 #19
hvis pic_mc rykker lidt underligt inden at det stopper skal du sørge for at scrollspeed går op i pic_mc's højde.
I dette eks. er scrollspeed 10 og pic_mc's højde skal derfor være 30 40 50 eller 60 etc.

det skulle vist være det
Avatar billede jakwag Nybegynder
15. maj 2003 - 19:39 #20
Skylder du mig ikke nogen point? : )
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