Avatar billede uthsen Nybegynder
25. juni 2002 - 10:40 Der er 10 kommentarer og
1 løsning

To scripts virker ikke sammen! Hvorfor?

Filerne:textfader.js og struds.gif er gemt i samme mappe som siden med titel "pets".

Kan kun få enten det ene eller det andet scrips til at virke. Vil gerne have dem til at virke samtidig på samme side.
På  første scpipt skal en struds komme ind fra højre til venstre og på det andet skal en rullende tekst komme frem!
Sidens kode ser således ud! Hvad er der galt?

<html>
<head>
    <title>pets</title>
    <script LANGUAGE="JavaScript" FPTYPE="hdynamicanimation">
<!--
  dynamicanimAttr = "hdynamicanimation"
  animateElements = new Array()
  currentElement = 0
  speed = 999
  stepsZoom =8
  stepsWord = 8
  stepsFly = 15
  stepsSpiral = 160
  steps = stepsZoom
  step = 0
  outString = ""
  function hdynAnimation()
  {
    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))
      {
        for (index=document.layers.length-1; index >= 0; index--)
        {
            layer=document.layers[index]
            if (layer.left==10000)
                layer.left=0
        }
      }
      return
    }
    for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
    {
      el = document.all[index]
      animation = el.getAttribute(dynamicanimAttr, false)
      if(null != animation)
      {
        if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
        {
          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, "")
            if(i2 == iend)
              break
            i1 = i2
            i2 = endWord(ih, i1)
            if(i2 == -1)
              i2 = iend
            outWord(ih, i1, i2, true, animation)
            if(i2 == iend)
              break
            i1 = i2
          }
          document.all[index].innerHTML = outString
          document.all[index].style.posLeft = 0
          document.all[index].setAttribute(dynamicanimAttr, null)
        }
        if(animation == "zoomIn" || animation == "zoomOut")
        {
          ih = el.innerHTML
          outString = "<SPAN " + dynamicanimAttr + "=\"" + animation + "\" style=\"position: relative; left: 10000;\">"
          outString += ih
          outString += "</SPAN>"
          document.all[index].innerHTML = outString
          document.all[index].style.posLeft = 0
          document.all[index].setAttribute(dynamicanimAttr, null)
        }
      }
    }
    i = 0
    for (index=document.body.sourceIndex; index < document.all.length; index++)
    {
      el = document.all[index]
      animation = el.getAttribute(dynamicanimAttr, false)
      if (null != animation)
      {
        if(animation == "flyLeft")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = 0
        }
        else if(animation == "flyRight")
        {
          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
          el.style.posTop = 0
        }
        else if(animation == "flyTop" || animation == "dropWord")
        {
          el.style.posLeft = 0
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "flyBottom")
        {
          el.style.posLeft = 0
          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
        }
        else if(animation == "flyTopLeft")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "flyTopRight" || animation == "flyTopRightWord")
        {
          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "flyBottomLeft")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
        }
        else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")
        {
          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
        }
        else if(animation == "spiral")
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
        }
        else if(animation == "zoomIn")
        {
          el.style.posLeft = 10000
          el.style.posTop = 0
        }
        else if(animation == "zoomOut")
        {
          el.style.posLeft = 10000
          el.style.posTop = 0
        }
        else
        {
          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
          el.style.posTop = 0
        }
        el.initLeft = el.style.posLeft
        el.initTop = el.style.posTop
        animateElements[i++] = el
      }
    }
    window.setTimeout("animate();", speed)
  }
  function offsetLeft(el)
  {
    x = el.offsetLeft
    for (e = el.offsetParent; e; e = e.offsetParent)
      x += e.offsetLeft;
    return x
  }
  function offsetTop(el)
  {
    y = el.offsetTop
    for (e = el.offsetParent; e; e = e.offsetParent)
      y += e.offsetTop;
    return y
  }
  function startWord(ih, i)
  {
    for(tag = false; i < ih.length; i++)
    {
      c = ih.charAt(i)
      if(c == '<')
        tag = true
      if(!tag)
        return i
      if(c == '>')
        tag = false
    }
    return -1
  }
  function endWord(ih, i)
  {
    nonSpace = false
    space = false
    while(i < ih.length)
    {
      c = ih.charAt(i)
      if(c != ' ')
        nonSpace = true
      if(nonSpace && c == ' ')
        space = true
      if(c == '<')
        return i
      if(space && c != ' ')
        return i
      i++
    }
    return -1
  }
  function outWord(ih, i1, i2, dyn, anim)
  {
    if(dyn)
      outString += "<SPAN " + dynamicanimAttr + "=\"" + anim + "\" style=\"position: relative; left: 10000;\">"
    outString += ih.substring(i1, i2)
    if(dyn)
      outString += "</SPAN>"
  }
  function animate()
  {
    el = animateElements[currentElement]
    animation = el.getAttribute(dynamicanimAttr, false)
    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), 500)
      ry = Math.max(Math.abs(el.initTop),  200)
      el.style.posLeft = Math.ceil(-rf*Math.cos(t)*rx)
      el.style.posTop  = Math.ceil(-rf*Math.sin(t)*ry)
    }
    else if(animation == "zoomIn")
    {
      steps = stepsZoom
      el.style.fontSize = Math.ceil(50+50*step/steps) + "%"
      el.style.posLeft = 0
    }
    else if(animation == "zoomOut")
    {
      steps = stepsZoom
      el.style.fontSize = Math.ceil(100+200*(steps-step)/steps) + "%"
      el.style.posLeft = 0
    }
    else
    {
      steps = stepsFly
      if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
        steps = stepsWord
      dl = el.initLeft / steps
      dt = el.initTop  / steps
      el.style.posLeft = el.style.posLeft - dl
      el.style.posTop = el.style.posTop - dt
    }
    if (step >= steps)
    {
      el.style.posLeft = 0
      el.style.posTop = 0
      currentElement++
      step = 0
    }
    if(currentElement < animateElements.length)
      window.setTimeout("animate();", speed)
  }
//-->
</script>
<style TYPE="text/css">
    <!--
    .TextScrollStyle {
        visibility:hidden;
        font-family:Ariel ;
        font-weight:bold;
        font size="50";
        text-align:right;
        padding:6;
        margin:100;
        width:100%;
        overflow:hidden;
    }

    -->
    </style>
<script language="JavaScript1.2">

/*
Dynamic Fader Script (updated: 00/08/05)
Created and submitted by Nicholas Poh (hwinmain@yahoo.com) to Dynamicdrive.com
Key modifications by Dynamic Drive for stability/ efficiency in NS
For full source code, usage terms, and 100s more scripts, visit http://dynamicdrive.com
*/

//1) Configure messages:
        var TS_message = new Array();
            TS_message[0] = '<div align="center">Velkommen til en side om </div>';
          TS_message[1] = '<div align="center">kæledyr, mad, computer </div>';
        TS_message[2] = '<div align="center">og hvad der ellers optager os! ';
        TS_message[3] = '<div align="center">Strudsen vil lukke dig ind... ';

//2) Configure fader width and colors:
            var TS_scrollwidth=900      //configure fader width
        var TS_colorFG = 0xFFFFFF;    // Text color
        var TS_colorBG = 0x000000;  //bgColor
        var TS_speed  = 20;   
       

            // uncomment any value you wanted to change
        //var TS_ymax    = 50;            // How many pixel to move
        //var TS_ystep  = 1;            // 1 or -1 only (Scroll direction)
        //var TS_speed  = 2;            // The smaller the value the faster
        //var TS_pause  = 100;            // Pause time(milisecond) between messages
        var TS_fadestep= 20;            // Steps to fade in and out

            if (document.all)
            document.write('<style>#containerarea{width:'+TS_scrollwidth+'}</style>')
</script>
</head>
<body onload="hdynAnimation()">
<body text="#FFFFFF">
<body bgcolor="#000000">


<p hdynamicanimation="flyRight"
style="position: relative !important; left: 10000 !important"><img
src="struds.gif" width="149" height="261"></p>

<DIV id="containerarea">
<SCRIPT LANGUAGE="JavaScript1.2" SRC="textfader.js"></SCRIPT>
</DIV>
</body>
</html>
Avatar billede Slettet bruger
25. juni 2002 - 10:47 #1
Kan du ikke smide et link istedet?
Avatar billede uthsen Nybegynder
25. juni 2002 - 10:57 #2
Avatar billede jakoba Nybegynder
25. juni 2002 - 11:00 #3
Slå dine 3 body-kommandoer sammen til en:
<body text="#FFFFFF" bgcolor="#000000" onload="hdynAnimation()">

check om nogen af de variable der defineres i filen textfader.js også bruges i det andet script.
led efter en linie:
  window.onload = initieringsfunktion;  // døgeord '.onload'
i filen textfader.js. hvis den findes så fjern den og udvis onload i body med et kald til den funktion der blev assignet. fx:
    <body text="#FFFFFF" bgcolor="#000000" onload="hdynAnimation();faderinit()">

mvh JakobA
Avatar billede =maddog= Nybegynder
25. juni 2002 - 11:00 #4
Det sidste script lave ikke en skid. Det mangler et eller andet kode gør der ikke. Desuden er <div> ikke lukket i de sidste to TS_message[], altså 2 og 3.
Det ligner lidt sjusk gør det ikke?
Avatar billede =maddog= Nybegynder
25. juni 2002 - 11:03 #5
aaarrrrhh. nu fangede jeg den. hvorfor har du textfader i en js fil og resten i en køre?
Avatar billede jakoba Nybegynder
25. juni 2002 - 11:04 #6
PS. Netscape7 viser sort side, og ingen af scriptene virker.
Avatar billede =maddog= Nybegynder
25. juni 2002 - 11:16 #7
document.all[index]. crasher på netscape. textfader kan jeg ikke svare for.
Avatar billede jakoba Nybegynder
25. juni 2002 - 11:21 #8
jep, fjerdenederste linie i filen textfader.js
    window.onload=startani
fjern den linie, og lav body til
    <body text="#FFFFFF" bgcolor="#000000" onload="hdynAnimation();startani()">

så skulle den virke i IE.
Avatar billede uthsen Nybegynder
25. juni 2002 - 11:23 #9
Indholdet af filen "textfader,js" er som følger:
Ændre jeg window.onload linien kommer kun scriptet med strudsen frem!
Faktisk har jeg ikke haft  tjekket i Netscape. Øv -at ingen af scriptene virker her!

// Dynamic Text Fader (1.20)
// (Updated on 6/7/2000)
// Script created by Nicholas Poh Tze Siang aka Programatix Copyright (c) 1999-2000
// (hwinmain@yahoo.com)
//Modified and Featured on http://www.dynamicdrive.com


// Create a hex convertor array (Dex2Hex[])
var hexbase= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
var value=0;
var Dec2Hex=new Array();
for (x=0; x<16; x++){
    for (y=0; y<16; y++){
        Dec2Hex[value]= hexbase[x] + hexbase[y];
        value++;
    }
}

// Convert RGB colour to string base
function RGB2STR(rgbcolor)
{
    return Dec2Hex[rgbcolor>>16] + Dec2Hex[(rgbcolor>>8)&0xFF] + Dec2Hex[rgbcolor&0xFF];
}

// Check the following variables to see if they exist. If not use default value
if (String(TS_colorFG)=="undefined") var TS_colorFG = 0x0000FF;    // Text color
if (String(TS_colorBG)=="undefined") var TS_colorBG = 0xFFFFFF;    // Background color
if (String(TS_ymax)  =="undefined") var TS_ymax    = 50;        // How many pixel to move
if (String(TS_ystep)  =="undefined") var TS_ystep  = 1;        // 1 or -1 only (Scroll direction)
if (String(TS_speed)  =="undefined") var TS_speed  = 2;        // The smaller the faster
if (String(TS_pause)  =="undefined") var TS_pause  = 600;        // Pause time(milisecond) between messages
if (String(TS_fadestep)=="undefined") {
    var TS_fadestep = TS_ymax>>1;
} else {
    if (TS_fadestep > (TS_ymax>>1)) TS_fadestep = TS_ymax>>1;
}

// check if user defined messages exist
if (String(TS_message)=="undefined") {
    // use the default messages
    var TS_message = new Array();
    TS_message[0] = 'Dynamic Text Fader 1.20';
    TS_message[1] = 'Code by Nicholas Poh Tze Siang aka Programatix';
    TS_message[2] = 'You can insert any HTML tag into the messages';
    TS_message[3] = 'Code downloaded from <A HREF="http://dynamicdrive.com">dynamicdrive.com</A>';
}

var TS_ypos    = 0;
var TS_yposOrg = 0;
var TS_color  = TS_colorBG;
var TS_curMsg  = 0;

// Calculate the difference between background and foreground color
var half_TS_ymax = (TS_ymax)>>1
var dfRed  = -((TS_colorBG>>16) - (TS_colorFG>>16)) / TS_fadestep;
var dfGreen = -(((TS_colorBG>>8)&0xFF) - ((TS_colorFG>>8)&0xFF)) / TS_fadestep;
var dfBlue  = -((TS_colorBG&0xFF) - (TS_colorFG&0xFF)) / TS_fadestep;
var TS_opColor  = (dfRed<<16) + (dfGreen<<8) + (dfBlue);

var timer;
var TS;

function UnloadMe()
{
    clearTimeout(timer);
}

var isReadForNextText = 0;
var isChangeText = 0;

function ScrollText(currentstate)
{


    TS_ypos += TS_ystep;
   
    // Ready to change text?
    if (TS_ypos >= TS_ymax || TS_ypos <= 0)
        isChangeText = 1;
    else
        isChangeText = 0;

    // Need to set the timer first so that it will go smoothly
    if (isChangeText) {
        if (TS_pause < TS_speed)
            timer = setTimeout('ScrollText(0)', TS_speed);
        else
            timer = setTimeout('ScrollText(1)', TS_pause);
    } else
        timer = setTimeout('ScrollText(0)', TS_speed);

    // Change text
    if (isReadForNextText) {
        // For IE only
        TextScroll.innerHTML = TS_message[TS_curMsg];
        isReadForNextText = 0;
    }

    // Change the color of the text
    if (document.all) {
        // IE
        TS.paddingTop = TS_ypos;
        TS.color = TS_color;
    } else if (document.layers) {
        // Netscape
        TS.top = TS_ypos + TS_yposOrg;
       
        // Clip the text
        var calc = (TS.top-TS_yposOrg) + TS.document.height - 20
        if (calc > TS_ymax) {
            TS.clip.bottom=(TS.document.height) - (calc-TS_ymax);
        } else {
            TS.clip.bottom=TS.document.height;
        }

        // Display the text
        text  = '<SPAN CLASS="TextScrollStyle">' +
                '<FONT COLOR='+TS_colorFG+'>' +
                TS_message[TS_curMsg] +
                '</FONT></SPAN>';
        TS.backgroundColor = TS_colorBG;
        TS.backgroundColor = 'black';
            if (currentstate==1){
        TS.document.write(text);
        TS.document.close();
            }
    }
    if (TS_ypos < TS_fadestep || (TS_ymax - TS_ypos) < TS_fadestep) {
        TS_color += TS_opColor;
    }

    // Check to see if in the middle, if so, change colour direction
    if (TS_ypos == half_TS_ymax) TS_opColor *= -1;   
   
    // Prepare for next text please
    if (isChangeText) {
        TS_color = TS_colorBG;
        TS_opColor *= -1;

        if (TS_ystep > 0) {
            TS_ypos = 0;
        } else {
            TS_ypos = TS_ymax;
        }

        if (++TS_curMsg > TS_message.length-1) {
            TS_curMsg = 0;
        }

        // Change text
        if (document.all) {
            // IE
            TextScroll.innerHTML = " ";
            TS.paddingTop = TS_ypos;
            isReadForNextText = 1;
        } else if (document.layers) {
            TS.document.write('');
            TS.document.close();
            TS.top = TS_ypos + TS_yposOrg;
        }
    }
}

function startani(){
      if (document.layers)
      document.TextScroll.visibility="show"
      timer = setTimeout('ScrollText()', 1000)
}


function ScrollTextDisplay()
{
    var navName=navigator.appName;
    var navVer=parseInt(navigator.appVersion)
    var fNetscape = 0;
   
    if (! ((navName=="Netscape" && navVer>=4) || (navName=="Microsoft Internet Explorer" && navVer>=4)) ) {
        return;
    }
    if (navName=="Microsoft Internet Explorer") {
        TS_speed = 20 + TS_speed;
    } else if (navName=="Netscape") {
        fNetscape=1;
    }
   
    document.write('<ILAYER NAME="TextScroll" CLASS="TextScrollStyle" WIDTH="'+TS_scrollwidth+'" HEIGHT=' + (TS_ymax+20) + ' BGCOLOR=' + RGB2STR(TS_colorBG) + ' VISIBILITY="hide">');
    document.write('<LAYER NAME="Content" WIDTH="'+TS_scrollwidth+'">');
    document.write('<SPAN ID="TextScroll" CLASS="TextScrollStyle">');
    if (fNetscape) document.write('<FONT COLOR='+TS_colorFG+'>');
    document.write(TS_message[0]);
    if (fNetscape) document.write('</FONT>');
    document.write('</SPAN>');
    document.write('</LAYER>');
    document.write('</ILAYER>');
   
    if (TS_ystep > 0) {
        TS_ypos = 0;
    } else {
        TS_ypos = TS_ymax;
    }

    if (document.all) {
        // IE
        TS = TextScroll.style;
    } else if (document.layers) {
        // Netscape
        TS = document.TextScroll.document.Content;
        TS_yposOrg = TS.top;
    }
    TS.height = TS_ymax+20;
    TS.color = TS_color;
    TS.visibility = "visible";
    TS.backgroundColor = TS_colorBG;
   
    window.onload=startani
    window.onunload=UnloadMe;
}

ScrollTextDisplay()
Avatar billede uthsen Nybegynder
25. juni 2002 - 11:33 #10
Tusind tak skal du ha' Jacoba
Nu virker det!!!!!!!
Avatar billede jakoba Nybegynder
25. juni 2002 - 11:42 #11
selv tak :-)
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

IT-JOB

Politiets Efterretningstjeneste

Platform Engineer hos PET

Netcompany A/S

Network Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer