Denkfehler?

one6666

Mitglied Titanium
Hallo,

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Steuerung</title>
<style type="text/css">
.box{
	background:#CF0;
	width:50px;
	height:50px;
	position:relative;
}
</style>
PHP:
<script type="text/javascript">

var button_top;

function key_top(count){
  if(button_top == "on"){
    if(typeof count == "undefined"){
	  count = document.getElementById("b_box").style.top;
	  count = count.replace(/px/, "");
	  count = parseInt(count);
	}
    if(count < 200){
      count++;
	  document.getElementById("b_box").style.top = count + "px";
	  window.setTimeout("key_top(" + count + ")",100);
    }
  }
}

function key_read_on(key_code){
  switch(key_code.which){
  case 38:
    button_top = "on";
    key_top();
  break;
  }
}

function key_read_off(key_code){
  switch(key_code.which){
  case 38:
    button_top = "off";
  break;
  }
}

document.onkeydown = key_read_on;
document.onkeyup = key_read_off;

</script>
HTML:
</head>

<body>
<div id="b_box" class="box"></div><div style="z-index:1; position:relative;" id="ausgabe"></div>
</body>
</html>

ich denke jetzt mal mein Script vor :

1.Taste erkennen
2.Globale Variable auf on setzen
3.Passende Funktion aufrufen
4.Prüfen ob Variable immer noch auf on steht wenn ja...
5.Erste durchlauf abfragen ob count noch leer (undefined) ist,
wenn count noch leer ist setze ich die Startposition.
6.Abfragen ob count sein Ziel schon erreicht hat,
wenn nicht erhöhe count um 1, und setze den top Wert auf den aktuellen count Wert,
und springe dann wieder zum Anfang,
7.Es wird wieder geprüft ist count undefined, ist es aber nicht da schon ein Wert ermittelt wurde :)

Ich habe es mir bestimmt 30 mal angeschaut und alles durchgeplant,
aber er spuckt mir in den Teil:
PHP:
    if(typeof count == "undefined"){
	  count = document.getElementById("b_box").style.top;
	  count = count.replace(/px/, "");
	  count = parseInt(count);
	}
einfach keinen Startwert aus, habe auch schon im CSS Teil einen top Wert angegeben, aber er zeigt immer nix an :(

Weiß jemand was ich übersehen habe ?
 
Zuletzt bearbeitet:
:eek: ohje bin ich schlecht in CSS :-(

Meinst du wenn ich dem div direkt die CSS Eigenschafften zuweise ? zb. so <div style="".....
 
Ah ja super gut das ich das jetzt mal weiß, denke das wird mir in Zukunft die suche nach Fehler ungemein erleichtern :)

Danke euch beiden :)
 
Hi,

es existieren auch noch die Methoden getComputedStyle und currentStyle, mit denen die berechneten CSS-Werte ausgelesen werden können, falls sie nicht inline angegeben wurden - siehe hier.

Ciao
Quaese
 

Neue Beiträge

Zurück