Friday, August 17, 2018

javascript - Why does the alert coming from my loop always return the last value, not each iteration value?

I have a some buttons, which are stored in an array. I then loop through that array to add a click event to each button. Each click alerts the value of i. I expect the values to be 1, 2, 3 and so on, but they always come back as one value, in case 3.



Can you explain why this happens and how to fix it?



Please see this a jsFiddle. Code below:



var theButtons = ['.button.one', '.button.two', '.button.three'];


for (i=0; i $(theButtons[i]).click(function () {
alert(i); // always returns 3
});
}


Please explain it as simply and clearly as you can - I'm somewhat of a beginner at Javascript and programming.

No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...