themarcos
Goto Top

JQuery Variable in der Funktion zurücksetzen??

Hallo zusammen

Ich stehe momentan vor einem JS-Problem und weiss nicht, wie ich es lösen soll..


Folgendes:

Ich setze zuerst zwei Variabeln left und pos mit dem Wert = 0
Mit diesen beiden Variabeln wird dann in der darauf folgenden Funktion gearbeitet.
Wenn ich aber auf einen anderen Link klicke, sollten die beiden Variabeln wieder auf 0 zurückgesetzt werden.

var left = 0; 
var pos = 0;

function myFunction () {
  //...Code
  pos += 1;
  left -= 100;  
  //...Code
}


$('#button').click(function(event) {   
   myFunction();
});


$('#button2').click(function(event) {   
   var left = 0; 
   var pos = 0;
});


Jedoch speichert die Funktion myFunction irgendwie die Werte für sich nochmals. Also ich kann die Variabeln eifach nicht zurücksetzen.

Was mache ich falsch bzw. wie geht's richtig?


Vielen Dank für euere Antworten!

LG
Marco

Content-ID: 201773

Url: https://administrator.de/contentid/201773

Ausgedruckt am: 23.11.2024 um 03:11 Uhr

110480
110480 14.02.2013 um 18:36:07 Uhr
Goto Top
Nabend!

Würde mal spontan behaupten damit:

$('#button2').click(function(event) {    
   left = 0;  
   pos = 0;
}); 

Einfach mal probieren face-smile
nxclass
nxclass 14.02.2013 um 23:40:14 Uhr
Goto Top
SystemSh0cker hat recht - es kommt darauf an wo die variable deklariert ist.
In deinem Beispiel wurde in Z.02 und Z.03 die Variablen im Globalen "Bereich" definiert - diese sind dann auch in allen Funktionen verfügbar.
In Z.19 und Z.20 wurden die Variablen ebenfalls definiert - aber nur im "Bereich" der function für das click event.
TheMarcoS
TheMarcoS 15.02.2013 um 08:23:37 Uhr
Goto Top
Hallo zusammen

Danke für eure Antworten.


Zitat von @110480:

Würde mal spontan behaupten damit:

> $('#button2').click(function(event) {    
>    left = 0;  
>    pos = 0;
> }); 
> 

Ich dachte, ich hätte diese Variante auch erfolglos ausprobiert. Ihr habt aber recht, funktioniert super! face-smile


Vielen Dank und lg
Marco