Ole: Function ohne Fehler wird nicht zu Ende gefüht

Hi

ich bastel grade ein wenig mit javascript rum und bin da auf ein problem gestoßen.

ziel sollte es sein unter zur hilfe nahme von onmousedown und onmouseup das dic so agieren zu lassen als wäre es ein button. klar könnte ich das auch mit nem richtigen button lösen, aber hier gehts ums prinzip ;).

das problem das auftritt ist folgendes:

der onmousedown funktionsaufruf wird ohneproblem komplett ausgeführt, während der onmouseup aufruf scheinbar alles nach dem alter ignoriert.
jeder eventhandler einzeln für sich funktioniert, auch wenn ich up gegen down tausche und umgekehrt.

ich weiß, es sit montag. daher vermute ich das sich ein wirklich blöder fehler eingeschlichen hat. nur welcher?

auchso, das problem tritt unter win2k sowohl im ie6 als auch um moz 1.7 auf.

jemand nen guten tip?

thx
ole
(8-)>

hier die source:
(die alerts dienen zur überprüfung welcher if-zweig genommen wird, also nur zierde und könenn raus)

<html>
<head>
<title>JS-Test</title>
<style type="text/css">
body  {background-color: #7799bb; margin: 0px; font-family: Arial,Helvetica,"sans-serif"; padding: 0px; overflow: auto; font-size: 12px;}
.item {padding:3px; padding-left: 15px; background-color: #cccccc; width: 100%; border-top: 1px solid #ffffff; border-left: 1px solid #ffffff; border-right: 1px solid #999999; border-bottom: 1px solid #999999;}
</style>

<script type="text/javascript">
function clickmich(OBJ,MOVEMENT) {
OBJstyle = document.getElementById(OBJ.id).style
if (MOVEMENT == 'down') {
alert(MOVEMENT)
OBJstyle.borderTop = "#999999"
OBJstyle.borderLeft = "#999999"
OBJstyle.borderBottom = "#FFFFFF"
OBJstyle.borderRight = "#FFFFFF" }
else {
alert(MOVEMENT)
OBJstyle.borderTop = "#ffffff"
OBJstyle.borderLeft = "#ffffff"
OBJstyle.borderBottom = "#999999"
OBJstyle.borderRight = "#999999" }
}
</script>
</head>

<body>
<div id="item01" class="item" onMousedown="clickmich(this,'down');" onMouseup="clickmich(this,'up');">Stammdaten</div>
</body>
</html>

--
Vegetables? Yes,...for example garlic!
  1. Hi,

    <div id="item01" class="item" onMousedown="clickmich(this,'down');" onMouseup="clickmich(this,'up');">Stammdaten</div>
    <script type="text/javascript">
    function clickmich(OBJ,MOVEMENT) {
    OBJstyle = document.getElementById(OBJ.id).style

    Hm. in OBJ hast Du das Element. Davon ermittelst Du die id (OBJ.id), um dann mit dieser ermittelten id das Element per getElementById zu suchen.
    Warum nimmst Du nicht direkt OBJ?

    if (MOVEMENT == 'down') {
    alert(MOVEMENT)
    OBJstyle.borderTop = "#999999"

    Wenn ich das richtig verstehe, dann setzt Du damit den border-style auf none (weil nicht angegeben, gilt der initial value), die border-width auf medium (weil nicht angegeben, gilt der initial value - was aber wegen des none beim Style als 0 betrachtet werden muß) und die Farbe auf #999999 (was aber wegen des none beim style keine Auswirkung haben dürfte).

    Wenn Du nur die Farbe setzen willst, dann tu das doch auch, dafür gibt es doch die Eigenschaften border-top-color, border-right-color, border-bottom-color, border-left-color.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. hi

      Hm. in OBJ hast Du das Element. Davon ermittelst Du die id (OBJ.id), um dann mit dieser ermittelten id das Element per getElementById zu suchen.

      weil montag ist ;)

      Wenn Du nur die Farbe setzen willst, dann tu das doch auch, dafür gibt es doch die Eigenschaften border-top-color, border-right-color, border-bottom-color, border-left-color.

      argl...die farbe...ich hasse montage...natürlich...wenn ich nur die farbe setze fehlt der rest...also hinter alles noch Color....funzt.

      thx
      ole
      (8-)>

      --
      Vegetables? Yes,...for example garlic!