Avatar billede byteripper Nybegynder
19. september 2000 - 16:50 Der er 8 kommentarer

Flyvende Tekst

Hejza

Jeg håber der er nogen der kan hjælpe mig med dette problem. Jeg står og mangler et DHTML script hvor en bestemt tekst falder ned oppe fra toppen af browseren og lander og bliver der. Det teksten flyver må kun være ved load af siden. Jeg har set det før på en side et sted men kan ikke huske den, og jeg har desværre ikke en dyt forstand på DTML så jeg kan ikke selv lave. Håber at nogen ligger inde med sådan er script.

Med Venlig Hilsen
byteRipper
Avatar billede keysersoze Guru
19. september 2000 - 17:28 #1
det burde kunne laves sådan:

<html>

<head>
<title>Flyv ind tekst</title>
<script language=\"JavaScript\" fptype=\"dynamicanimation\">
<!--
function dynAnimation() {}
function clickSwapImg() {}
//-->
</script>
<script language=\"JavaScript1.2\" fptype=\"dynamicanimation\" src=\"file:///C:/Programmer/Microsoft%20Office/Office/fpclass/animate.js\">
</script>
</head>

<body onload=\"dynAnimation()\" language=\"Javascript1.2\">

<p dynamicanimation=\"fpAnimflyTopFP1\" id=\"fpAnimflyTopFP1\" style=\"position: relative !important; visibility: hidden\" language=\"Javascript1.2\">Denne tekst burde meget gerne flyve ind...</p>

</body>

</html>
Avatar billede byteripper Nybegynder
19. september 2000 - 18:22 #2
Jeg er desværre ikke i besidelse af filen animate.js som der er en sti til i scriptet. Skriv venligst sourcekode her eller upload filen og smid et link her så jeg kan hente filen.
Avatar billede keysersoze Guru
19. september 2000 - 18:42 #3
animate.js

-------------------

<!--
    // See KB article about changing this dynamic HTML
    dynamicanimAttr = \"dynamicanimation\"
    animCancel = \"skipanim\"
    fpanimationPrefix = \"fpAnim\"
    animateElements = new Array()
    currentElement = 0
    speed = 1
    stepsZoom = 8
    stepsWord = 8
    stepsFly = 17
    stepsSpiral = 16
    stepsSpiralWord = 19
    stepsElastic = 32
    steps = stepsZoom
    step = 0
    cornerPhase=0
    outEffect=0
    function remSuffix(str)
    {
        ind=str.indexOf(\"FP\")
        str = str.substring(0,ind)
        return str
    }
    function dynAnimOut(el)
    {
        outEffect=1
        dynAnimation(el)
        outEffect=0
    }
    function dynAnimation(obj)
    {
        animateElements = new Array()
        var ms = navigator.appVersion.indexOf(\"MSIE\")
        ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
        if(!ie4)
        {
            if((navigator.appName == \"Netscape\") &&
                (parseInt(navigator.appVersion.substring(0, 1)) >= 4))
                doc_els=document.layers
            else
                return
        }
        else
            doc_els=document.all
        if(outEffect && !ie4)
            return
        if(ie4)
        {
            for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
            {
                el = document.all[index]
                if(outEffect && el != obj)
                    continue
                if(outEffect)
                    animationId = el.id.substring(9,el.id.length)
                else
                    animationId = el.id.substring(6,el.id.length)
                animation=remSuffix(animationId)
                if(null != animation)
                {
                    altcnt=0
                    if(    animation == \"dropWord\"                ||
                        animation == \"flyTopRightWord\"            ||
                        animation == \"flyBottomRightWord\"        ||
                        animation == \"waveWords\"            ||
                        animation == \"hopWords\")
                    {
                        ih = el.innerHTML
                        outString = \"\"
                        i1 = 0
                        iend = ih.length
                        while(true)
                        {
                            i2 = startWord(ih, i1)
                            if(i2 == -1)
                            i2 = iend
                            outWord(ih, i1, i2, false, \"\", outEffect ? obj.id : el.id)
                            if(i2 == iend)
                                break
                            i1 = i2
                            i2 = endWord(ih, i1)
                            if(i2 == -1)
                                i2 = iend
                            if (animation == \"waveWords\")
                                outWordAlt(ih, i1, i2, true, animation, altcnt)
                            else
                                outWord(ih, i1, i2, true, (outEffect ? \"Out\" : \"\") + animation,
                                    outEffect ?  obj.id : el.id)

                            if(i2 == iend)
                                break
                            i1 = i2
                            altcnt++
                        }
                        document.all[index].innerHTML = outString
                        document.all[index].style.posLeft = 0
                        document.all[index].setAttribute(animCancel, true)
                        document.all[index].style.visibility=\"visible\"
                    }
                }
            }
        }
        i = 0
        for (index=0; index < doc_els.length; index++)
        {
            el = doc_els[index]
            if(0 != el.id.indexOf(fpanimationPrefix))
                continue
            if (ie4)
            {
                elprops=el.style
                scrollOffsetTop=document.body.scrollTop
                docHeight=document.body.offsetHeight
                docWidth=document.body.offsetWidth
                elW=100
                elH=el.offsetHeight
            }
            else
            {
                elprops=el
                scrollOffsetTop=window.pageYOffset
                docHeight=window.innerHeight
                docWidth=window.innerWidth
                elW=el.clip.width
                elH=el.clip.height
            }
            if(outEffect)
                animationId = el.id.substring(9,el.id.length)
            else
                animationId = el.id.substring(6,el.id.length)
            animation=remSuffix(animationId)
            if(outEffect && (obj != el))
            {
                if(el.SRCID != obj.id)
                    continue
            }
            if (null != animation )
            {
                if(ie4 && null!=el.getAttribute(animCancel, false))
                    continue
                if(!ie4)
                {
                    elprops.posLeft=elprops.left
                    elprops.posTop=elprops.top
                }
                el.startL=offsetLeft(el)
                if(animation == \"flyLeft\")
                {
                    elprops.posLeft = -offsetLeft(el)-elW
                    elprops.posTop = 0
                }
                else if(animation == \"flyRight\" || animation==\"elasticRight\")
                {
                    elprops.posLeft = -offsetLeft(el)+docWidth
                    elprops.posTop = 0
                }
                else if(animation == \"flyTop\" || animation == \"dropWord\")
                {
                    elprops.posLeft = 0
                    elprops.posTop = scrollOffsetTop-offsetTop(el)-elH
                }
                else if(animation == \"flyBottom\" || animation == \"elasticBottom\")
                {
                    elprops.posLeft = 0
                    elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
                }
                else if(animation == \"flyTopLeft\")
                {
                    elprops.posLeft = -offsetLeft(el)-elW
                    elprops.posTop = scrollOffsetTop-offsetTop(el)-elH
                }
                else if(animation == \"flyTopRight\" || animation == \"flyTopRightWord\")
                {
                    elprops.posLeft = -offsetLeft(el)+docWidth
                    elprops.posTop = scrollOffsetTop-offsetTop(el)-elH
                }
                else if(animation == \"flyCorner\")
                {
                    elprops.posLeft = docWidth*0.2-offsetLeft(el)
                   
                    elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
                }
                else if(animation == \"flyBottomLeft\")
                {
                    elprops.posLeft = -offsetLeft(el)-elW
                    elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
                }
                else if(animation == \"flyBottomRight\" || animation == \"flyBottomRightWord\")
                {
                    elprops.posLeft = -offsetLeft(el)+docWidth
                    elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
                }
                else if(animation == \"spiral\")
                {
                    elprops.posLeft = -offsetLeft(el)+docWidth
                    elprops.posTop = scrollOffsetTop-offsetTop(el)+docHeight
                }
                else if((animation.indexOf(\"waveWords\") != -1) || animation==\"hopWords\")
                {
                    if(i)
                    {
                        prevEl=animateElements[i-1]
                        elprops.r = offsetLeft(el)-prevEl.startL
                    }
                    else
                        elprops.r = offsetLeft(el)
                }
                else if(animation == \"wipeLR\" || animation == \"wipeMID\")
                {
                    if (ie4 && elprops.position==\"absolute\")
                    {
                        el.sizeW=el.offsetWidth
                        elprops.clip=\"rect(0 0 0 0)\"
                    }
                    else if (!ie4)
                    {
                        el.sizeW=el.clip.width
                        el.clip.width=0
                    }
                }
                else if(animation == \"wipeTB\")
                {
                    if (ie4 && elprops.position==\"absolute\")
                    {
                        elprops.clip=\"rect(0 0 0 0)\"
                    }
                    else if(!ie4)
                    {
                        el.sizeH=el.clip.height
                        el.clip.height=0
                    }
                }
                else if(animation == \"zoomIn\")
                {
                    elprops.posLeft = 0
                    elprops.posTop = 0
                }
                else if(animation == \"zoomOut\")
                {
                    elprops.posLeft = 0
                    elprops.posTop = 0
                }
                else
                {
                    continue
                }
                if(!outEffect)
                {
                    el.initLeft = elprops.posLeft
                    el.initTop  = elprops.posTop
                    el.endLeft  = 0
                    el.endTop  = 0
                    elprops.visibility = \"hidden\"
                }
                else
                {
                    el.initLeft = 0
                    el.initTop  = 0
                    el.endLeft = elprops.posLeft
                    el.endTop  = elprops.posTop
                    elprops.posTop = 0
                    elprops.posLeft = 0
                }
                if(!ie4)
                {
                    elprops.left=elprops.initLeft
                    elprops.top =elprops.initTop
                }
                animateElements[i++] = el
            }
        }
        if(animateElements.length > 0)
        {
            if(outEffect)
                window.setTimeout(\"animate(1);\", speed, \"Javascript\")
            else
                window.setTimeout(\"animate(0);\", speed, \"Javascript\")
        }
    }
    function offsetLeft(el)
    {
        if(ie4)
        {
            x = el.offsetLeft
            for (e = el.offsetParent; e; e = e.offsetParent)
                x += e.offsetLeft
            return x
        }
        else
        {
            x = el.pageX
            return x
        }
    }
    function offsetTop(el)
    {
        if(ie4)
        {
            y = el.offsetTop
            for (e = el.offsetParent; e; e = e.offsetParent)
                y += e.offsetTop;
            return y
        }
        else
        {
            y = el.pageY
            return y   
        }
    }
    function startWord(ih, i)
    {
        for(tag = false; i < ih.length; i++)
        {
            c = ih.charAt(i)
            if(c == \'<\')
            {
                if(ih.substring(i+1, i+4) == \"IMG\")
                return i;
                tag = true
            }
            if(!tag)
                return i
            if(c == \'>\')
                tag = false
        }
        return -1
    }
    function endWord(ih, i)
    {
        nonSpace = false
        space = false
        img = false
        if(ih.charAt(i) == \'<\')
        {
            img = true
            i++;
        }
        while(i < ih.length)
        {
            c = ih.charAt(i)
            if(c != \' \')
                nonSpace = true
            if(img && c == \'>\')
                img = false;
            if(nonSpace && !img && c == \' \')
                space = true
            if(c == \'<\')
                return i
            if(space && c != \' \')
                return i
            i++
        }
        return -1
    }
    function outWord(ih, i1, i2, dyn, anim, srcID)
    {
        if(dyn)
            if(!outEffect)
                outString += \"<SPAN ID=\\\"\" +  fpanimationPrefix + anim + \"FP\\\" style=\\\"position: relative; visibility: hidden;\\\">\"
            else
                outString += \"<SPAN SRCID=\\\"\" + srcID + \"\\\"ID=\\\"\" +  fpanimationPrefix + anim + \"FP\\\" style=\\\"position: relative;\\\">\"
        outString += ih.substring(i1, i2)
        if(dyn)
            outString += \"</SPAN>\"
    }
    function outWordAlt(ih, i1, i2, dyn, anim, altcnt)
    {
        if(dyn)
        {
            if(altcnt%2)
                outString += \"<SPAN ID=\\\"\" +  fpanimationPrefix + anim + \"LFP\\\" style=\\\"position: relative;  visibility: hidden;\\\">\"
            else
                outString += \"<SPAN ID=\\\"\" +  fpanimationPrefix + anim + \"RFP\\\" style=\\\"position: relative;  visibility: hidden;\\\">\"
        }
           
        outString += ih.substring(i1, i2)
        if(dyn)
            outString += \"</SPAN>\"
    }
    function animate(animOut)
    {
        el = animateElements[currentElement]
        if(animOut)
            animationId = el.id.substring(9,el.id.length);
        else
            animationId = el.id.substring(6,el.id.length);
        animation=remSuffix(animationId)
        if (ie4)
            elprops=el.style
        else
            elprops=el

        if(!step && !animOut)
            elprops.visibility=\"visible\"
        step++
        if(animation == \"spiral\")
        {
            steps = stepsSpiral
            v = step/steps
            rf = 1.0 - v
            t = v * 2.0*Math.PI
            rx = Math.max(Math.abs(el.initLeft), 200)
            ry = Math.max(Math.abs(el.initTop),  200)
            elprops.posLeft = Math.ceil(-rf*Math.cos(t)*rx)
            elprops.posTop  = Math.ceil(-rf*Math.sin(t)*ry)
        }
        else if(animation == \"waveWordsL\" || animation==\"hopWords\" || animation == \"waveWords\")
        {
            steps = stepsSpiralWord
            v = step/steps
            rf = (1.0 - v)
            t = v * 1.0*Math.PI
            elprops.posLeft = Math.ceil(-rf*Math.cos(t)*elprops.r)
            elprops.posTop  = Math.ceil(-rf*Math.sin(t)*elprops.r)
        }
        else if(animation == \"waveWordsR\")
        {
            steps = stepsSpiralWord
            v = step/steps
            rf = (1.0 - v)
            t = v * 1.0*Math.PI
            elprops.posLeft = Math.ceil(-rf*Math.cos(t)*elprops.r)
            elprops.posTop  = Math.ceil( rf*Math.sin(t)*elprops.r)
        }
        else if(animation == \"zoomIn\")
        {
            steps = stepsZoom
            elprops.fontSize = Math.ceil(50+50*step/steps) + \"%\"
            elprops.posLeft = 0
        }
        else if(animation == \"zoomOut\")
        {
            steps = stepsZoom
            fontSz=Math.ceil(100+200*(steps-step)/steps) + \"%\"
            elprops.fontSize = fontSz
            elprops.posLeft = 0
        }
        else if(animation == \"elasticRight\")
        {
            steps = stepsElastic
            v = step/steps
            rf=Math.exp(-v*7)
            t = v * 1.5*Math.PI
            rx =Math.abs(el.initLeft)
            elprops.posLeft = rf*Math.cos(t)*rx
            elprops.posTop  = 0
        }
        else if(animation == \"elasticBottom\")
        {
            steps = stepsElastic
            v = step/steps
            rf=Math.exp(-v*7)
            t = v * 2.5*Math.PI
            ry =Math.abs(el.initTop)
            elprops.posLeft = 0
            elprops.posTop  = rf*Math.cos(t)*ry
        }
        else if(animation == \"wipeLR\")
        {
            steps = stepsElastic
            if(ie4 && elprops.position==\"absolute\")
                elprops.clip = \"rect(0 \"+ step/steps*100 +\"% 100% 0)\"
            else if (!ie4)
            {
                elprops.clip.right=step/steps*el.sizeW
            }
        }
        else if(animation == \"wipeTB\")
        {
            steps = stepsElastic
            if(ie4 && elprops.position==\"absolute\")
                elprops.clip = \"rect(0 100% \"+step/steps*el.offsetHeight+\"px 0)\"
            else
                elprops.clip.bottom=step/steps*el.sizeH
        }
        else if(animation == \"wipeMID\")
        {
            steps = stepsElastic
            if(ie4 && elprops.position==\"absolute\")
            {
                elprops.clip = \"rect(0 \"+el.sizeW/2*(1+step/steps)+\"px 100% \"+el.sizeW/2*(1-step/steps)+\")\"
            }
            else if(!ie4)
            {
                elprops.clip.right=el.sizeW/2*(1+step/steps)
                elprops.clip.left=el.sizeW/2*(1-step/steps)
            }
        }
        else if(animation == \"flyCorner\")
        {
            if(!cornerPhase)
            {
                steps = stepsElastic/2
                v = step/steps
                rf=Math.exp(-v*7)
                t = v * 2.5*Math.PI
                ry =Math.abs(el.initTop)
                elprops.posTop  = rf*Math.cos(t)*ry
            }
            else
            {
                steps = stepsFly
                dl = el.initLeft / steps
                elprops.posLeft = elprops.posLeft - dl
                elprops.posTop = 0
            }
        }
        else
        {
            steps = stepsFly
            if(animation == \"dropWord\" || animation == \"flyTopRightWord\" || animation == \"flyBottomRightWord\")
                steps = stepsWord
            dl = (el.endLeft - el.initLeft) / steps
            dt = (el.endTop  - el.initTop)  / steps
            elprops.posLeft = elprops.posLeft + dl
            elprops.posTop = elprops.posTop + dt
        }
        if (step >= steps)
        {
            if(!(animation == \"wipeLR\"    ||
                animation  == \"wipeTB\"    ||
                animation  == \"wipeMID\"    ||
                (animation == \"flyCorner\" && !cornerPhase)))
            {
                elprops.posLeft = el.endLeft
                elprops.posTop = el.endTop
            }
            if(animOut)
            {
                elprops.visibility=\"hidden\"
            }

            step = 0
            if(animation==\"flyCorner\" && !cornerPhase)
                cornerPhase=1
            else
            {
                cornerPhase=0
                currentElement++
            }

        }
        if(!ie4)
        {
            elprops.left=elprops.posLeft
            elprops.top =elprops.posTop
        }
        if(currentElement < animateElements.length)
        {
            if(animOut)
                window.setTimeout(\"animate(1);\", speed, \"Javascript\")
            else
                window.setTimeout(\"animate(0);\", speed, \"Javascript\")
        }
        else
            currentElement=0
    }
    function rollIn(el)
    {
        var ms = navigator.appVersion.indexOf(\"MSIE\")
        ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
        if(ie4)
        {
            el.initstyle=el.style.cssText;el.style.cssText=el.fprolloverstyle
        }
    }
    function rollOut(el)
    {
        var ms = navigator.appVersion.indexOf(\"MSIE\")
        ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
        if(ie4)
        {
            el.style.cssText=el.initstyle
        }
    }
    function clickSwapStyle(el)
    {
        var ms = navigator.appVersion.indexOf(\"MSIE\")
        ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
        if(ie4)
        {
            ts=el.style.cssText
            el.style.cssText=el.fprolloverstyle
            el.fprolloverstyle=ts
        }
    }
    function clickSwapImg(el)
    {
        if(document.all || document.layers)
        {
            ts=el.src
            el.src=el.lowsrc
            el.lowsrc=ts
        }
    }
//-->
Avatar billede s_raagaard Nybegynder
20. september 2000 - 01:27 #4
Et andet bud.....på flyvende text

**********************

<html>

    <head>
        <title>Flyvende text</title>
        <style media=\"screen\" type=\"text/css\"><!--
#FlyvendeLag{position:absolute;top:-50px;left:150px;width:203px;height:61px;visibility:visible}
--></style>
        <cssequencer default=\"0\">
            <cssequence name=\"Scene 1\" fps=\"15\" start=\"0\" end=\"39\" autoplay=\"on\">
                <cstrack layer=\"FlyvendeLag\" parts=\"0,150,-50,,1,2,#ccccff,38,150,150,,1,2,#ccccff\"></cstrack>
            </cssequence>
        </cssequencer>
        <csscriptdict>
            <script><!--
CSInit = new Array;
function CSScriptInit() {
if(typeof(skipPage) != \"undefined\") { if(skipPage) return; }
idxArray = new Array;
for(var i=0;i<CSInit.length;i++)
    idxArray[i] = i;
CSAction2(CSInit, idxArray);}
CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf(\"/\")+1),10);
function IsIE() { return CSAg.indexOf(\"MSIE\") > 0;}
function CSIEStyl(s) { return document.all.tags(\"div\")[s].style; }
function CSNSStyl(s) { return CSFindElement(s,0); }
function CSFindElement(n,ly) { if (CSBVers < 4) return document[n];
    var curDoc = ly ? ly.document : document; var elem = curDoc[n];
    if (!elem) { for (var i=0;i<curDoc.layers.length;i++) {
        elem = CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }}
    return elem;
}

CSLoopIsRunning = false; CSFctArray = new Array; CSTimeoutID = null;
function CSLoop() {   
    CSLoopIsRunning = false;
    for (i=0;i<CSFctArray.length;i++) {
        var curFct = CSFctArray[i];
        if (curFct)    {
            if (curFct.DoFunction(curFct)) { CSLoopIsRunning = true; curFct.counter++; }
            else CSFctArray[i] = 0;
        }
    }
    if (CSLoopIsRunning) CSTimeoutID = setTimeout(\"CSLoop()\", 1);
}
function CSStartFunction(fct,data) {
    if (!CSLoopIsRunning) { CSFctArray = 0; CSFctArray = new Array; }
    var fctInfo = new Object;
    fctInfo.DoFunction = fct; fctInfo.counter = 0; fctInfo.data = data;
    CSFctArray[CSFctArray.length] = fctInfo;
    if (!CSLoopIsRunning) CSLoop();
}
function CSStopFunction(sceneName) {
    var i;
    for (i=0;i<CSFctArray.length;i++) {
        var curFct = CSFctArray[i];
        if (curFct){ if (curFct.data.name == sceneName){ CSFctArray[i] = 0; return; } }
    }
}
function CSStopComplete() {
    if (CSTimeoutID == null) return;
    clearTimeout (CSTimeoutID); CSLoopIsRunning = false; CSTimeoutID = null;
}

function CSSetStylePos(s,d,p) { if (IsIE()) { if (d == 0) CSIEStyl(s).posLeft = p; else CSIEStyl(s).posTop = p; }
    else { if (d == 0) CSNSStyl(s).left = p; else CSNSStyl(s).top = p; } }
function CSGetStylePos(s,d) { if (IsIE()) { if (d == 0) return CSIEStyl(s).posLeft; else return CSIEStyl(s).posTop; }
    else { if (d == 0) return CSNSStyl(s).left; else return CSNSStyl(s).top; }}

function CSSetStyleVis(s,v) { if (IsIE()) CSIEStyl(s).visibility = (v == 0) ? \"hidden\" : \"visible\";
    else CSNSStyl(s).visibility = (v == 0) ? \'hide\' : \'show\'; }
function CSGetStyleVis(s) { if (IsIE()) return (CSIEStyl(s).visibility == \"hidden\") ? 0 : 1;
    else return (CSNSStyl(s).visibility == \'hide\') ? 0 : 1;}

function CSSetStyleDepth(style,depth) { if (IsIE()) CSIEStyl(style).zIndex = depth; else CSNSStyl(style).zIndex = depth;}
function CSGetStyleDepth(style) { if (IsIE()) return (CSIEStyl(style).zIndex); else return (CSNSStyl(style).zIndex); }

CSSeqArray = new Array;
function CSSeqActionFct(seq,loopCount,continueLoop) {
    if ((seq.loop < 2) || ((loopCount % 2) != 0)) {
        for (var i=0;i<seq.actionCount;i++) {
            if (seq.actions[3*i + 1] <= seq.frame) {
                if ((loopCount > 1) && (seq.actions[3*i + 1] < seq.start)) continue;
                if (seq.actions[3*i + 2] < loopCount) {
                    seq.actions[3*i + 2] = loopCount; CSLoopIsRunning = true;
                    CSAction(new Array(seq.actions[3*i + 0])); continueLoop = true;
                }
            } else { continueLoop = true; break; }
        }
    } else {
        for (var i=seq.actionCount-1;i>=0;i--) {
            if (seq.actions[3*i + 1] > seq.frame) {
                if (seq.actions[3*i + 1] > seq.end) continue;
                if (seq.actions[3*i + 2] < loopCount) {
                    seq.actions[3*i + 2] = loopCount; CSLoopIsRunning = true;
                    CSAction(new Array(seq.actions[3*i + 0])); continueLoop = true;
                }
            } else { continueLoop = true; break; }
        }
    }
    return continueLoop;
}       
function CSSeqFunction(fctInfo)
{
    var seq = fctInfo.data; var oldFrame = seq.frame;
    var newTicks = (new Date()).getTime();
    seq.frame = Math.round((seq.fps * (newTicks - seq.startTicks)/1000.0) - 0.5);
    var continueLoop  = false; var loopCount = 1;
   
    if (seq.loop > 0) {
        continueLoop = true;
        if (seq.loop == 1) {
            var iv = (seq.end - seq.start);
            var f = Math.round(((seq.frame - seq.start) / iv) - 0.5);
            if (f < 0) f = 0;
            loopCount = f+1;
            seq.frame = seq.start + ((seq.frame - seq.start) % (seq.end - seq.start));
        } else {
            var iv = (seq.end - seq.start);
            var f = Math.round(((seq.frame - seq.start) / iv) - 0.5);
            if (f < 0) f = 0;
            loopCount = f+1;
            f = (seq.frame - seq.start) % (2 * iv);
            if (f > iv) f = 2*iv - f;
            seq.frame = seq.start + f;
        }
    }
    continueLoop = CSSeqActionFct(seq,loopCount,continueLoop);
    for (var i=0;i<seq.tracks.length;i++) {
        var track = seq.tracks[i]; var frameCount = 0; var lastCount = 0; var partCount = 0;
        var partIdx = track.parts.ticks.length;
        for (var k=0;k<track.parts.ticks.length;k++) {
            frameCount += track.parts.ticks[k];
            if (frameCount > seq.frame) { partIdx = k; partCount = seq.frame - lastCount; break; }
            lastCount = frameCount;
        }
        if (partIdx < track.parts.ticks.length) {
            var type=track.parts.moveType[partIdx];
            if(type==1) CSSetLinearPos (track, partIdx, partCount);
            else if(type==2) CSSetCurvePos (track, partIdx, partCount);
            else if(type==3) if (oldFrame != seq.frame) CSSetRandomPos (track, partIdx, partCount);
                            else { x = CSGetStylePos(track.layer,0); y = CSGetStylePos(track.layer,1); }
            CSSetStyleVis(track.layer,track.parts.visibilities[partIdx]);
            CSSetStyleDepth(track.layer,track.parts.depths[partIdx]);
            continueLoop = true;
        } else {
            var partIdx = track.parts.moveType.length-1;
            var posArray = track.parts.positions;
            var x = posArray[partIdx * 6 + 0]; var y = posArray[partIdx * 6 + 1];
            CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);
            CSSetStyleVis(track.layer,track.parts.visibilities[partIdx]);
            CSSetStyleDepth(track.layer,track.parts.depths[partIdx]);
        }
    }
    return continueLoop;
}
function CSSetLinearPos (track, partIdx, partCount) {
    var curTicks = track.parts.ticks[partIdx];
    var pIdx1 = partIdx * 6; var pIdx2 = (partIdx+1) * 6;
    var posArray = track.parts.positions;
    var x = posArray[pIdx1 + 0]; var y = posArray[pIdx1 + 1];
    var x1,x2,y1,y2;
    var factor = partCount/curTicks;
    x1 = x; y1 = y;
    x2 = posArray[pIdx2 + 0]; y2 = posArray[pIdx2 + 1];
    x = x1 * (1-factor) + x2 * factor; y = y1 * (1-factor) + y2 * factor;
    CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);
}
function CSSetCurvePos (track, partIdx, partCount) {
    var curTicks = track.parts.ticks[partIdx];
    var pIdx1 = partIdx * 6; var pIdx2 = (partIdx+1) * 6;
    var posArray = track.parts.positions;
    var x = posArray[pIdx1 + 0]; var y = posArray[pIdx1 + 1];
    var x1,x2,x3,x4,y1,y2,y3,y4;
    var factor = partCount/curTicks;
    var t = factor; var u = t * t; var v = u * t;
    var val1 = 3*(u-t) - v + 1; var val2 = 3*(v+t - 2*u); var val3 = 3*(u-v); var val4 = v;
    x1 = x; y1 = y; x2 = posArray[pIdx1 + 2]; y2 = posArray[pIdx1 + 3];
    x3 = posArray[pIdx1 + 4]; y3 = posArray[pIdx1 + 5];
    x4 = posArray[pIdx2 + 0]; y4 = posArray[pIdx2 + 1];
    x = x1 * val1 + x2 * val2 + x3 * val3 + x4 * val4;
    y = y1 * val1 + y2 * val2 + y3 * val3 + y4 * val4;
    CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);
}
function CSSetRandomPos (track, partIdx, partCount) {
    var curTicks = track.parts.ticks[partIdx];
    var pIdx1 = partIdx * 6; var pIdx2 = (partIdx+1) * 6;
    var posArray = track.parts.positions;
    var x = posArray[pIdx1 + 0]; var y = posArray[pIdx1 + 1];
    var x1,x2,y1,y2;
    var factor = partCount/curTicks;
    x1 = x; y1 = y;
    x2 = posArray[pIdx2 + 0]; y2 = posArray[pIdx2 + 1];
    var factorx = Math.random(); var factory = Math.random();
    x = x1 * (1-factorx) + x2 * factorx; y = y1 * (1-factory) + y2 * factory;
    CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);
}
function CSStartSeq(name) {
    var seq = CSGetScene(name); var date = new Date()
    seq.startTicks = date.getTime()
    for (var i=0;i<seq.actionCount;i++) seq.actions[3*i+2] = 0;
    CSStartFunction(CSSeqFunction,seq);
}
function CSSceneObj (name,fps,loop,start,end,frame,sTicks,numAct,acts,tracks) {
    this.name=name;this.fps=fps;this.loop=loop;this.start=start;this.end=end;
    this.frame=frame;this.startTicks=sTicks;this.actionCount=numAct;
    this.actions=acts;this.tracks=tracks;
}
function CSTrackObj (name,partIdx,partCount,parts) {
    this.layer=name;this.partIdx=partIdx;this.partCount=partCount;this.parts=parts;
}
function CSPartObj (ticks,pos,depths,vis,moveType) {
    this.ticks=ticks;this.positions=pos;this.depths=depths;this.visibilities=vis;
    this.moveType=moveType;
}
function CSGetScene (name) {
    for (i=0;i<CSSeqArray.length;i++) { var seq = CSSeqArray[i]; if (seq.name==name) return seq; }
    return 0;
}


function CSAutoStartScene(action) { CSStartSeq (action[1]); }


CSStopExecution = false;
function CSAction(array) {
    return CSAction2(CSAct, array);
}
function CSAction2(fct, array) {
    var result;
    for (var i=0;i<array.length;i++) {
        if(CSStopExecution) return false;
        var actArray = fct[array[i]];
        if(actArray == null) return false;
        var tempArray = new Array;
        for(var j=1;j<actArray.length;j++) {
            if((actArray[j] != null) && (typeof(actArray[j]) == \"object\") && (actArray[j].length == 2)) {
                if(actArray[j][0] == \"VAR\") {
                    tempArray[j] = CSStateArray[actArray[j][1]];
                }
                else {
                    if(actArray[j][0] == \"ACT\") {
                        tempArray[j] = CSAction(new Array(new String(actArray[j][1])));
                    }
                else
                    tempArray[j] = actArray[j];
                }
            }
            else
                tempArray[j] = actArray[j];
        }           
        result = actArray[0](tempArray);
    }
    return result;
}
CSAct = new Object;


// --></script>
        </csscriptdict>
        <csactiondict>
            <script><!--
CSSeqArray[CSSeqArray.length] = new CSSceneObj(/*CMP*/\"Scene 1\",15,0,0,39,0,0,0,new Array(),new Array(new CSTrackObj(/*CMP*/\"FlyvendeLag\",0,0,new CSPartObj(new Array(38,0),new Array(150,-50,150,16,150,83,150,150,0,0,0,0),new Array(0,0),new Array(1,1),new Array(2,2)))));
CSInit[CSInit.length] = new Array(CSAutoStartScene,/*CMP*/\'Scene 1\');

// --></script>
        </csactiondict>
    </head>

    <body bgcolor=\"#ffffff\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" onload=\"CSScriptInit();\">
        <div id=\"FlyvendeLag\">
            <h1>Flyvende tekst</h1>
        </div>
    </body>

</html>
Avatar billede s_raagaard Nybegynder
27. september 2000 - 01:10 #5
Kan du bruge dine svar ?
Avatar billede danielhep Nybegynder
07. november 2000 - 14:36 #6
prøv med
<marquee>Flyvende Tekst</marquee>
men der er en lille ulæmpe det er ikke sikkert at den virker i Netscape.
Avatar billede tsunami Nybegynder
08. november 2000 - 05:02 #7
Avatar billede danielhep Nybegynder
07. maj 2004 - 14:04 #8
luk dette spm
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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