раз subtr это метод, то по всей видимости b_term объект. Что ж тогда "b" и можно ли с ней делать такое b.substr(-2)
|
rixter,
substr работает со строками и возвращает строки b_term строка это а чтобы она стала числом ставим впереди + |
рони,
спасибо за помощь и разъяснения, но + не помог. Правильная работа - отметил оценку, появилось сообщение "спасибо за участие" через 2 с новое сообщение "Рейтинг 5.0 (5 Голосов)". Сейчас зависает на "Спасибо за участие". Без + аналогично. Уже завтра буду разбираться, спать охота. Всего доброго! |
Вроде разобрался, может и велосипед получился, но работает :). Может упростить как-то можно, ну и замечания бы.
var b = b + '';/*В строку*/ var b_term = b.substr(-2); if (b_term > 10 && b_term < 15) { d=d+extravote_text[5].replace("%s",b);/*Голосов*/ } else { var b_term = b.substr(-1); if (b_term == 0 || b_term > 4) { d=d+extravote_text[5].replace("%s",b);/*Голосов*/ } if (b_term == 1) { d=d+extravote_text[6].replace("%s",b);/*Голос*/ } if (b_term > 1 && b_term < 5) { d=d+extravote_text[8].replace("%s",b);/*Голоса*/ } } var b = +b;/*Обратно в число*/ |
rixter,
есть функция для подобных дел и какие замечания если я незнаю ни де ни бе ни прочих е ))) заработало и хорошо! |
рони,
А что за функция? |
|
var b = b + '';/*В строку*/ var b_term = +(b.substr(-2)); (function () { if (b_term > 10 && b_term < 15)return d=d+extravote_text[5].replace("%s",b);/*Голосов*/ b_term = +(b.substr(-1)); if (b_term == 0 || b_term > 4)return d=d+extravote_text[5].replace("%s",b);/*Голосов*/ if (b_term == 1)return d=d+extravote_text[6].replace("%s",b);/*Голос*/ if (b_term > 1 && b_term < 5)return d=d+extravote_text[8].replace("%s",b);/*Голоса*/ }()); var b = +b;/*Обратно в число*/ |
рони, Deff,
Спасибо! Отличный форум! Смотрел также другие ветки, везде помощь, подсказки, конструктивная критика. |
rixter,
на закуску для самобразования Скрипт для создания словесной формы автор Riim, и заодно функция склонения слов после цифры по формуле с http://translate.sourceforge.net/wiki/l10n/pluralforms var plural = function (b) { return function (a) { return b[1 == a % 10 && 11 != a % 100 ? 0 : 2 <= a % 10 && 4 >= a % 10 && (10 > a % 100 || 20 <= a % 100) ? 1 : 2] } }; var d = plural(['голос','голоса','голосов']) //alert(d(5)); var a = [1,5,56,87,3,2,14,23,41,1090] a = a.map(function (el) { return el + " " + d(el) }) alert(a.join('\n')); |
Часовой пояс GMT +3, время: 08:58. |