patrici: beim zweiten klick die funktion rückgängig machen

Hallo das ist das erste mal das ich mit javascript arbeite....

Ich habe das problem das die "testdiv" box beim 2ten klicken auf "#k" wider in die standart position zurück soll. Wie mach ich das??

<head>  
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />  
 <title>test</title>  
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>  
<script src="SpryAssets/SpryEffects.js" type="text/javascript"></script>  
  
 <script type="text/javascript">  
 function k() {  
   $("#testdiv").animate({  
     left: "-100px",  
                 top: "100px",  
           height: "100px",  
           opacity: 1,  
     toggle: "false",  
         }, 1500, "swing");  
    }  
  
  
</script>  
  
 <style type="text/css">  
  
 #testdiv{  
   width: 400px;  
 height:100px;  
 background-color: red;  
 border: 1px solid black;  
 position: absolute;  
 left: 100px;  
 top: 100px;  
 }  
  
  
 #bla {  
 background-image: none;  
 height: 20px;  
 width: 20px;  
 background-color: #0099CC;  
}  
 #k {  
 background-image: none;  
 height: 20px;  
 width: 20px;  
 background-color: #006699;  
}  
    </style>  
  
  
  
</head>  
<body>  
<div id="k" onclick="k()"></div>  
 <div id="testdiv"><div id="bla" onclick="k()"></div>  
vcbcbdhdhbdf</div>  
  
</body>  
</html>

ich hoffe ihr könnt mir helfen
mfg patrici

  1. Hi,

    Hallo das ist das erste mal das ich mit javascript arbeite....

    bitte poste nur releanten Code. Ausserdem wird hier eine Beschreibung dessen, was Du bereits versucht hast, sowie ggf. erhaltener Fehlermelungen erwartet.

    Ich habe das problem das die "testdiv" box beim 2ten klicken auf "#k" wider in die standart position zurück soll. Wie mach ich das?

    Setze einen Flag, in dem Du den Zusand speichert. Bevor Du das jquery-Script ausführst fragst Du dessen Wert ab und führst jeweils eine Animation mit anderen Parametern aus. Die jquery Methoden bieten Dir die Möglichkeit, nach Ablauf der Animation eine Callback-Funktion aufzurufen, wo Du dem Flag einen neuen Wert geben kannst - bei animate gehts so:

    myflag = 0;

    $(".....").animate({ // params
        height:200,
        width:400,
        opacity: .5
        },
        1000,            // duration
        "linear",        // easing
        function(){      // complete
            myflag = 1;  // flag setzen
        }
    );

    if (myflag) tu_das_eine();
    else tu das andere();

    Gruesse, Joachim

    --
    Am Ende wird alles gut.