Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2009, 17:45
Интересующийся
Отправить личное сообщение для sovka Посмотреть профиль Найти все сообщения от sovka
 
Регистрация: 18.10.2008
Сообщений: 23

Как сделать нумерацию в формате: 001
Приветы!

Помогите плз с циклом, как сделать что i перебирала не 1,2,3 .. N
а так: 001, 002, 003 ... N



<SCRIPT type=text/javascript>
for (var i = 0; i < 999; i++) {
     document.write(
      '<img src='+i+'.jpg><br><br>');
}
</SCRIPT>
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2009, 18:04
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

for (var i = 1; i <= 9; i++) {
     document.write(
      '<img src=00'+i+'.jpg><br><br>');
}
for (var i = 10; i <= 99; i++) {
     document.write(
      '<img src=0'+i+'.jpg><br><br>');
}
for (var i = 100; i < 999; i++) {
     document.write(
      '<img src='+i+'.jpg><br><br>');
}
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2009, 18:04
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Number.prototype.pad = function(length) {
    var res = this.toString();
    while (res.length < length)
        res = '0' + res;
    return res;
};

for (var i = 0; i < 999; i++) {
     document.write(
      '<img src='+i.pad(3)+'.jpg><br><br>');
}
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2009, 18:07
Интересующийся
Отправить личное сообщение для Tend Посмотреть профиль Найти все сообщения от Tend
 
Регистрация: 16.03.2009
Сообщений: 13

Или так:
<SCRIPT type=text/javascript>
function t(x) { return ((x>9)?((x>99)?'':'0'):'00')+x; }
for (var i = 0; i < 999; i++) {
     document.write(
      '<img src='+t(i)+'.jpg><br><br>');
}
</SCRIPT>
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2009, 18:07
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

String.prototype.leftPad = function(size, ch) {
  var result = new String(this);
  ch = ch || ' ';
  while (result.length < size) {
    result = ch + result;
  }
  return result.toString();
};

alert((1).toString().leftPad(3, '0'));
alert((99).toString().leftPad(3, '0'));
alert((100).toString().leftPad(3, '0'));


update: ох, нифига себе, меня отвлекли на минуту =) не было ж ни одного ответа )
__________________
Тонкости ECMAScript
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2009, 18:44
Интересующийся
Отправить личное сообщение для sovka Посмотреть профиль Найти все сообщения от sovka
 
Регистрация: 18.10.2008
Сообщений: 23

Какой тут отзывчивый народ! Респект и большое спасибо всем!
Ответить с цитированием
  #7 (permalink)  
Старый 16.03.2009, 18:56
Интересующийся
Отправить личное сообщение для sovka Посмотреть профиль Найти все сообщения от sovka
 
Регистрация: 18.10.2008
Сообщений: 23

До идеала, раз под силу

Хотелось бы скармливать скрипту строку шаблона
http://www.site.ru/img/$$$.jpg - если i 001
http://www.site.ru/img/$$.jpg - если i 01
http://www.site.ru/img/$.jpg - если i 1

А он принтовал
<img src=http://www.site.ru/img/i.jpg>br><br>

Вот этот самый понятный и короткий, на нем бы:
<SCRIPT type=text/javascript>
function t(x) { return ((x>9)?((x>99)?'':'0'):'00')+x; }
for (var i = 0; i < 999; i++) {
     document.write(
      '<img src='+t(i)+'.jpg><br><br>');
}
</SCRIPT>


Авторы скриптов выше! Спалите в личку кошельки wmz, скромное по паре баксов зашлю

+$10 за законченный код
Ответить с цитированием
  #8 (permalink)  
Старый 16.03.2009, 19:11
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

не могу понять ваше условие
попробуйте переформулировать
[telepatmode]
попробую сделать предположение:
вам нужна функция, принимающая параметром шаблон в виде строки "http://www.site.ru/img/$$$.jpg"
знаки долларов будут заменятся на число в формате 001, так чтобы количество цифр было равно количеству долларов, и все возможные варианты последовательно выводилсь?
то есть так:
"http://www.site.ru/img/$.jpg"
<img src=http://www.site.ru/img/1.jpg>br><br>
......
<img src=http://www.site.ru/img/9.jpg>br><br>


"http://www.site.ru/img/$$.jpg"
<img src=http://www.site.ru/img/01.jpg>br><br>
......
<img src=http://www.site.ru/img/99.jpg>br><br>


"http://www.site.ru/img/$$;.jpg"
<img src=http://www.site.ru/img/001.jpg>br><br>
......
<img src=http://www.site.ru/img/999.jpg>br><br>


я правильно понял что вам нужно?
[/telepatmode]
Ответить с цитированием
  #9 (permalink)  
Старый 16.03.2009, 21:13
Интересующийся
Отправить личное сообщение для sovka Посмотреть профиль Найти все сообщения от sovka
 
Регистрация: 18.10.2008
Сообщений: 23

Gvozd, да все правильно.
Отличный у Вас модуль «telepatmode»
Ответить с цитированием
  #10 (permalink)  
Старый 16.03.2009, 21:59
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

(function(patern){
var t=function(num)//функцию пришлось взять эту(by Kolyaj), для большей универсальности
	{
    var res = num.toString();
    while (res.length < maxlen)
        res = '0' + res;
    return res;
	}
var maxlen=patern.lastIndexOf('$')-patern.indexOf('$')+1;
var part_1=patern.substring(0,patern.indexOf('$'));
var part_2=patern.substring(patern.lastIndexOf('$')+1,patern.length);

for(var i=0,maxnum='';i<maxlen;i++)
	maxnum+='9'
maxnum=+maxnum

for(i=0; i<=maxnum; i++)
	{
	document.write('<img src="'+part_1+t(i)+part_2+'.jpg" /><br><br>\n');
	}
})('http://www.site.ru/img/$$.jpg')//вот тут пишите шаблон
//PS использовал замыкание, чтобы не засорять глобальтную область видимости лишними переменными

PS если будут встречатся еще символы $, кроме как символ подстановки, то скрипт поведет себя "неккорретно"
лечится использованием другого уникального символа подстановки

Последний раз редактировалось Gvozd, 16.03.2009 в 22:04.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 03:33
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56
Как сделать смену картинки, типа "до" и "после", без перезагрузки страницы? btstudio Events/DOM/Window 2 23.02.2009 20:43
Как сделать справочное окно? Vlaimir Events/DOM/Window 13 05.01.2009 14:06
Как сделать слой неактивным AlexMak Events/DOM/Window 3 04.12.2008 15:56