Unless your intention is to have them all animate at the same time, you can't set them up in a loop this way. If you do, they're all executed (almost) simultaneously and as you say, you'll only actually see the last one.
You need to trigger each successive one from the completion of the previous one. Chain them together with callbacks.
delay should set up the next setTimeout. Then you'll get the result you're after.
Given the other answers here, I'll add that you'll probably want to increase your pause time from 10ms to something like 100 and then use the *i solution that the others have suggested. Multiplying 10ms by i isn't going to get you a whole lot in the way of noticeable delay. I'd start with 100ms and if that's too jerky move down from there in increments of 10ms till you have an animation that makes you happy.
I did it before, with for example 4 CONSECUTIVE setTimeout but I want to do it with for loop
maybe I'm not understanding your question then. It seems to me that you're trying to cue up all your animations at once.
@DonRhummy, The closure will solve his scoping issue, but I don't see that it will help with preventing all his animations from firing at once... unless I'm overlooking something. Maybe the OP wants all the items to slide up simultaneously, in which case Kolink's solution is indeed correct.