Доброго всем времени суток! Подскажите, возможно ли с помощью цикла сделать счётчик в textbox`е? Примерно код выглядит вот так: HTML: <input id="textbox" type="text" value="" /> [js]<script type="text/javascript"> for (var a=0; a<100; a++) { setTimeout(function(){$('input#textbox').val(a);}, 100); } </script> [/js] Но он не работает (выдаёт только последнее значение т.е. 99). Каким способом ещё можно сделать такой счётчик?
ну подумай что оно делает , ты 100 раз запускаешь изменение сразу [js]<script type="text/javascript"> $('input#textbox').val(0); function plus(){ var a=$('input#textbox').val(); if(a<100) { $('input#textbox').val($('input#textbox').val()+1); setTimeout(plus(), 100); } } plus(); </script>[/js] разумеется с коленки, должно работать
Спасибо! Идея хорошая. Но в результате почему-то получается строка - "0111"; Решил что ошибка в приведение типов и немного изменил код: [js]<script type="text/javascript"> $('input#textbox').val('0'); function plus(){ var a= parseInt($('input#textbox').val()); if(a<100) { a+=1; $('input#textbox').val(a); setTimeout(plus(), 1000); } } plus(); </script>[/js] Но так Timeout тоже не работает. В результате выводится сразу конечная цифра.
[js] $('input#textbox').val('0'); function plus(){ var a= parseInt($('input#textbox').val()); if(a<100) { a+=1; $('input#textbox').val(a); setTimeout(plus, 1000); } } plus(); [/js]