Malte: Endlosschleife verhindern

Beitrag lesen

Hi,

wie wäre es wenn du einen "flag" für sliding up einführst?

Danke! Das war der richtige Wink. Nachdem ich die Abfrage an die richtige Stelle des if-Statements gepackt hatte und das flag nicht boolean'sch, sondern string'sch angewandt habe, funktioniert es. Es muß deshalb den Namen des aktiven Elementes tragen, weil ich diese Funktionen auf verschiedene Elemente anwende, und das teilweise zeitgleich. Nochmals Danke.

Gruß,

Malte.

var slidingUp = "";

function slideDown(whichone,target){
  if(document.getElementById){
    if(slidingUp != whichone && parseInt(document.getElementById(whichone).style.top) < target){
      document.getElementById(whichone).style.top = parseInt(document.getElementById(whichone).style.top) + 1 + "px";
      myDown = "slideDown('" + whichone + "'," + target + ")";
      setTimeout(myDown,1);
    }
  }
}

function slideUp(whichone,target){
  if(document.getElementById){
    if(parseInt(document.getElementById(whichone).style.top) > target){
      document.getElementById(whichone).style.top = parseInt(document.getElementById(whichone).style.top) - 1 + "px";
      myUp = "slideUp('" + whichone + "'," + target + ")";
      slidingUp = whichone;
      setTimeout(myUp,1);
    }
    else
    {
       slidingUp = "";
    }
  }
}