Avatar billede jmc Nybegynder
19. august 2006 - 19:02 Der er 1 løsning

problem med sideskift

Vi har et problem med en flash presentation som efter noget tid pludseligt begynder at gå helt galt. Det er noget tekst som ruller ned, står et øjeblik og ruller op igen. Det er nok svært at gennemskue for dig, men har du et clue hvad vi kunne prøve ville dette være meget påskønnet! ;o)

Når det går galt sker der følgende.
4 sek. blank
Så ruller teksten ned (label startanim)
Den står kun i 1 sek. "Her går det galt med showtime "
Den ruller op (label closeanim)
straks efter ruller den op igen, hvilket er forkert ? (label startanim)


Vores kode:

var myPage:Number;
var antalSider:Number;
var showTime:Number;
var newShowTime:Number;
var intervalId:Number;
var txtArr:Array;
var numOfWords:Number;
var safeSplit:Number;
var myAnimCountDown:Number;
var intervalCountId:Number;
var intervalSetCountDownId:Number;
function setText():Void {
    // Vi skal lige huske at vi har trukket showNextS... fra. Der for lægger vi dem til her
    // if (myInfoDelay>myInfoNext)
    showTime = _root.myInfoDelay; // 10;
    //showtime = myDelaySeconds+myShowNextSeconds;
    thetext.header.text = thetext.headertext;
    thetext.bread.text = thetext.breadtext;
    //trace("ShowAds = "+_root.showAds);
    if (_root.showAds) {
        thetext.bread._height = 200;
    } else {
        thetext.bread._height = 300;
    }
    //trace("textHeight -->"+thetext.bread.textHeight);
    //trace("textFieldHeight -->"+thetext.bread._height);
    textHeight = thetext.bread.textHeight;
    textFieldHeight = thetext.bread._height;
    //trace("forhold = "+Math.ceil(textHeight/textFieldHeight));
    thetext.cont.text = "";
    thetext.cont_2.text = "";
    antalSider = Math.ceil(textHeight/textFieldHeight);
    //Hvis der er flere sider sætter vi showTime op
    newShowTime = showTime*antalSider;
    if (antalSider!=1) {
        //trace("Der er mere tekst end der kan ses!");
        myPage = 1;
        txtArr = thetext.breadtext.split(" ");
        numOfWords = txtArr.length;
        safeSplit = Math.ceil(numOfWords/antalSider);
    //    updateText();
        if (intervalSetCountDownId != null)
            clearInterval(intervalSetCountDownId);
        intervalSetCountDownId = setInterval(this, "setCountDown", 1000*(showTime-myShowNextSeconds));
        if (intervalId != null)
            clearInterval(intervalId);
        intervalId = setInterval(this, "updateText", 1000*showTime);
    }
    if (_root.intervalId_text != null)
        clearInterval(_root.intervalId_text);
    _root.intervalId_text = setInterval(_root, "updateText", 1000*newShowTime);
}
function updateText():Void {
    thetext.cont.text = "(side "+myPage+" af "+antalSider+")";
    var myTempTxtArray = txtArr.splice(0, safeSplit);
    var myTempTxt = myTempTxtArray.join(" ");
    if (myPage<antalSider) {
        thetext.bread.text = myTempTxt+" ... (fortsættes)";
    }
    if (myPage>1) {
        thetext.bread.text = "(fortsat) ... "+myTempTxt;
    }
    myPage++;
    if (myPage>antalSider) {
        clearInterval(intervalId);
    }
    delete (myTempTxtArray);
    delete (myTempTxt);
}
function setCountDown():Void {
    myAnimCountDown = _root.myInfoNext; //myShowNextSeconds;
    thetext.cont_2._y = thetext.bread._y+thetext.bread.textHeight;
    //doUpdateCont();
    if (intervalSetCountDownId != null)
        clearInterval(intervalSetCountDownId);
    intervalCountId = setInterval(this, "doUpdateCont", 1000);
}
function doUpdateCont():Void {
    myTime = "0:"+("0"+myAnimCountDown).substr(-2);
    myAnimCountDown--;
    thetext.cont_2.text = myTime;
    if (myAnimCountDown<1) {
        clearInterval(intervalCountId);
        thetext.cont_2.text = "";
    }
}
Avatar billede jmc Nybegynder
20. august 2006 - 14:01 #1
Det lader ikke til at noglekan hjælpe, så jeg lukker.
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

IT-JOB