Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:15 Der er 12 kommentarer og
1 løsning

Knappen virker kun 1'ste gang?!?

Jeg har lavet knapper som starter forskellige timelines, men knapperne virker kun den første gang man klikker på dem??????? Er det ikke meget mystisk?
Er der en der kan hjælpe mig?
se eksemplet her http://www.wol.dk/~mikkelmn/test.html

Den der kan knække den får sgu 200 Jeg er desperat!
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:20 #1
behaviors>timeline>Go to timeline frame  den skal sættes til 1

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->

function MM_timelinePlay(tmLnName, myID) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
  if (myID == tmLn.ID) { //if Im newest
    setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
    fNew = ++tmLn.curFrame;
    for (i=0; i<tmLn.length; i++) {
      sprite = tmLn[i];
      if (sprite.charAt(0) == 's') {
        if (sprite.obj) {
          numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
          if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
            keyFrm=1;
            for (j=0; j<sprite.values.length; j++) {
              props = sprite.values[j];
              if (numKeyFr != props.length) {
                if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
                else        sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
              } else {
                while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
                if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
                  if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
                  else        sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
        } } } } }
      } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
      if (fNew > tmLn.lastFrame) tmLn.ID = 0;
  } }
}

function MM_timelineGoto(tmLnName, fNew, numGotos) { //v2.0
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (numGotos != null)
    if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
    else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
  jmpFwd = (fNew > tmLn.curFrame);
  for (i = 0; i < tmLn.length; i++) {
    sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
    if (sprite.charAt(0) == "s") {
      numKeyFr = sprite.keyFrames.length;
      firstKeyFr = sprite.keyFrames[0];
      lastKeyFr = sprite.keyFrames[numKeyFr - 1];
      if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
      for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
      for (j=0; j<sprite.values.length; j++) {
        props = sprite.values[j];
        if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
        else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
        if (sprite.obj != null) {
          if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
          else        sprite.obj[props.prop2][props.prop] = props[propNum];
      } }
    } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
  }
  tmLn.curFrame = fNew;
  if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}

function MM_initTimelines() { //v4.0
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved.
    var ns = navigator.appName == "Netscape";
    var ns4 = (ns && parseInt(navigator.appVersion) == 4);
    var ns5 = (ns && parseInt(navigator.appVersion) > 4);
    document.MM_Time = new Array(2);
    document.MM_Time[0] = new Array(1);
    document.MM_Time["op"] = document.MM_Time[0];
    document.MM_Time[0].MM_Name = "op";
    document.MM_Time[0].fps = 15;
    document.MM_Time[0][0] = new String("sprite");
    document.MM_Time[0][0].slot = 1;
    if (ns4)
        document.MM_Time[0][0].obj = document["Layer3"];
    else if (ns5)
        document.MM_Time[0][0].obj = document.getElementById("Layer3");
    else
        document.MM_Time[0][0].obj = document.all ? document.all["Layer3"] : null;
    document.MM_Time[0][0].keyFrames = new Array(1, 15);
    document.MM_Time[0][0].values = new Array(2);
    if (ns5)
        document.MM_Time[0][0].values[0] = new Array("296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px");
    else
        document.MM_Time[0][0].values[0] = new Array(296,296,296,296,296,296,296,296,296,296,296,296,296,296,296);
    document.MM_Time[0][0].values[0].prop = "left";
    if (ns5)
        document.MM_Time[0][0].values[1] = new Array("133px", "126px", "119px", "112px", "104px", "97px", "90px", "83px", "76px", "69px", "62px", "54px", "47px", "40px", "33px");
    else
        document.MM_Time[0][0].values[1] = new Array(133,126,119,112,104,97,90,83,76,69,62,54,47,40,33);
    document.MM_Time[0][0].values[1].prop = "top";
    if (!ns4) {
        document.MM_Time[0][0].values[0].prop2 = "style";
        document.MM_Time[0][0].values[1].prop2 = "style";
    }
    document.MM_Time[0].lastFrame = 15;
    document.MM_Time[1] = new Array(1);
    document.MM_Time["ned"] = document.MM_Time[1];
    document.MM_Time[1].MM_Name = "ned";
    document.MM_Time[1].fps = 15;
    document.MM_Time[1][0] = new String("sprite");
    document.MM_Time[1][0].slot = 1;
    if (ns4)
        document.MM_Time[1][0].obj = document["Layer3"];
    else if (ns5)
        document.MM_Time[1][0].obj = document.getElementById("Layer3");
    else
        document.MM_Time[1][0].obj = document.all ? document.all["Layer3"] : null;
    document.MM_Time[1][0].keyFrames = new Array(1, 15);
    document.MM_Time[1][0].values = new Array(2);
    if (ns5)
        document.MM_Time[1][0].values[0] = new Array("296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px", "296px");
    else
        document.MM_Time[1][0].values[0] = new Array(296,296,296,296,296,296,296,296,296,296,296,296,296,296,296);
    document.MM_Time[1][0].values[0].prop = "left";
    if (ns5)
        document.MM_Time[1][0].values[1] = new Array("33px", "40px", "47px", "54px", "62px", "69px", "76px", "83px", "90px", "97px", "104px", "112px", "119px", "126px", "133px");
    else
        document.MM_Time[1][0].values[1] = new Array(33,40,47,54,62,69,76,83,90,97,104,112,119,126,133);
    document.MM_Time[1][0].values[1].prop = "top";
    if (!ns4) {
        document.MM_Time[1][0].values[0].prop2 = "style";
        document.MM_Time[1][0].values[1].prop2 = "style";
    }
    document.MM_Time[1].lastFrame = 15;
    for (i=0; i<document.MM_Time.length; i++) {
        document.MM_Time[i].ID = null;
        document.MM_Time[i].curFrame = 0;
        document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
    }
}
//-->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<div id="Layer1" style="position:absolute; left:127px; top:109px; width:153px; height:134px; z-index:1"><img src="upup.gif" width="19" height="10" onClick="MM_timelinePlay('op')" onMouseDown="MM_timelineGoto('op','1')"></div>
<div id="Layer2" style="position:absolute; left:376px; top:108px; width:158px; height:137px; z-index:2"><img src="downup.gif" width="19" height="10" onClick="MM_timelinePlay('ned')" onMouseDown="MM_timelineGoto('op','1')"></div>
<div id="Layer3" style="position:absolute; left:296px; top:33px; width:60px; height:65px; z-index:3"><img src="dk.gif" width="41" height="27"></div>
</body>
</html>
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:23 #2
alt for mange point, denne løsning er til 30 point
Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:30 #3
Hmm skal lige have det til at virke så får du et sted mellem 30 og 200 :-)

Hvordan gør jeg forøvrigt det? Jeg er ny her (det svar giver ingen point i sig selv :-)
Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:32 #4
Hmm. Den kode du sendte sender jo flaget til tops hver gang. Det er altså ikke meningen. Man skal kunne køre op og ned.
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:34 #5
man skal køre det op når man klikker på den venstre pil og ned når man klikker på det andet??
Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:37 #6
Jeps, men den sidste detalje har jeg selv luret.
TUSIND TAK
Jeg var ved at blive bims. 200 til dig :-)
Hvordan giver jeg dig dem?
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:38 #7
vil kun have 30
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:40 #8
.
Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:40 #9
Hmm så lad gå da.
Iøvrigt plat at onClick ikke virker men det gør onMouseDown... ikke særlig logisk
Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:44 #10
Hej styxx
Du kan jo sagtens være beskeden når jeg ikke kan sætte pointtallet ned:-) Smart. ...men du får dem. Jeg kan måske selv tjene nogle hjem en dag.
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:44 #11
onClick burde da også virke, hvilken browser bruger du??
Avatar billede mikkelmn Nybegynder
05. februar 2002 - 01:45 #12
IE 5.00.2920.0000
Avatar billede ztyxx Nybegynder
05. februar 2002 - 01:47 #13
du kan sagtens selv sætte point tallet, man lægger selv et svar og så kan man dele point ud efter hvordan man vil under avanceret.

du får lige nogen tilbage her: http://www.eksperten.dk/spm/168280
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
Kurser inden for grundlæggende programmering

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