Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2012, 00:57
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Помогите исправить склонение
Всем привет..

var rate = {
 getVotes: function () {
 $.post(phpurl,{a:'getrate',m:module,n:entryID}, function (res) {
 if(res.split('|')[0].length > 1) { $('#votes_plus').html(res.split('|')[0].toString());
 $('#votes_minus').html(res.split('|')[1].toString());
 $('#total_votes').html(parseInt($('#votes_plus').text().match(/\d+/))+parseInt($('#votes_minus').text().match(/\d+/)));
if(res.split('|')[2].length > 1) {
    var t = res.split('|')[2].toString();$('#mm').remove(); $('#like, #unlike').show();
	$('#'+t).before('<img src="http://qooga.ru/img/for/like/'+t+'_on_ac.png" id="mm" border="0" class="vote_img"/>').hide();
					
					function dec(b,c,d,a){b=[b,c,d];a%=100;a=11<=a&&14>=a?0:5>(a%=10)?2<a?2:a:0;return b[a]};
					var fingerUp = $('#votes_plus').html();
					var fingerDown = $('#votes_minus').html();
					var fUp = dec("пальцев", "палец", "пальца", fingerUp);
					var fDown = dec("пальцев", "палец", "пальца", fingerDown);
					$('#fingerUp').html(' '+fUp);
					$('#fingerDown').html(' '+fDown);
					
	}				    
 } else {$('#total_votes, #votes_plus, #votes_minus').html('0')} 
 })
 },
 vote: function (type) { 
 rate._ajax(phpurl, {a:'dorate',type:type,m:module,n:entryID})    
 setTimeout(function() {rate.getVotes()},500)
 },
 getList: function (vtype) {
 var u = vtype == 'like' ? 'положительно' : 'отрицательно';
 new _uWnd('list','Список оценивших '+u,300,140,{align:0,аutоsizе:1,close:0,modal:1,oncontent: function () {$.post(phpurl, {a:'getlist',m:module,n:entryID,type:vtype}, function (r) {if(r.length > 1) { $('#list_u').html(r);} else {$('#list_u').html('Пока никто не оценил...')} _uWnd.getbyname('list').checksize()})}},'<fieldset><legend>Пользователи:</legend><div id="list_u">Loading...</div></fieldset><fieldset><div align="right"><input type="button" style="padding:2px;" onclick="_uWnd.close(\'list\')" value="Закрыть"></div></fieldset>')
 },
 _ajax: function (url,params) {
 $.post(url, params, function (rs) { _uWnd.alert(rs,'',{w:300,h:40}); })
 }
 }


Проблема заключается в том что скрипт выводит склонение только ко второму элементу "fDown", а на fUp он выводит только первое слово "пальцев"..

Выгладит как-то так:
1 пальцев вверх
1 палец вниз
Ответить с цитированием
  #2 (permalink)  
Старый 31.08.2012, 01:28
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Дзен-трансгуманист,
Ну и вместо "1 палец" мне выдаст "1 1"

В fingerUp и Down(#vote_plus и minus) цифры
В fUp и fDown склонение
Ну и в конце он выводит результат

Последний раз редактировалось fAmOus, 31.08.2012 в 01:31.
Ответить с цитированием
  #3 (permalink)  
Старый 31.08.2012, 01:45
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Дзен-трансгуманист,
Результат:
1 пальцев вверх
1 палец вниз
Ответить с цитированием
  #4 (permalink)  
Старый 31.08.2012, 01:47
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Сообщение от Дзен-трансгуманист Посмотреть сообщение
Не факт.
Я же проверил
Ответить с цитированием
  #5 (permalink)  
Старый 31.08.2012, 02:06
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Дзен-трансгуманист,
1 пальцев вверх
1 пальцев вниз
Ответить с цитированием
  #6 (permalink)  
Старый 31.08.2012, 02:07
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Цитата:
var fUp = dec("пальцев", "палец", "пальца", fingerUp);
var fDown = dec("пальцев", "палец", "пальца", fingerUp);
Он все цифры берет из fingerUp а нужно из разных
Цитата:
Могу еще предположить, что элемента $('#fingerUp') не существует, а в реально существующем просто остается прежнее значение.
Всё есть
<b id="votes_plus">...</b><b id="fingerUp"></b>
<b id="votes_minus">...</b><b id="fingerDown"></b>

Последний раз редактировалось fAmOus, 31.08.2012 в 02:12.
Ответить с цитированием
  #7 (permalink)  
Старый 31.08.2012, 02:20
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Дзен-трансгуманист,
Проверил на Nightly(Firefox) всё прекрасно работает.. а на хроме ничего
Ответить с цитированием
  #8 (permalink)  
Старый 31.08.2012, 03:02
Кандидат Javascript-наук
Отправить личное сообщение для fAmOus Посмотреть профиль Найти все сообщения от fAmOus
 
Регистрация: 10.07.2012
Сообщений: 105

Дзен-трансгуманист,
Мне всего-то нужно сделать склоняемость
1 - палец
2 - пальца
5 - пальцев
Оно всё работает, но вот криво
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить скрипт fAmOus Элементы интерфейса 4 31.08.2012 01:02
Помогите исправить функцию поиска слова opeen_door Общие вопросы Javascript 3 31.10.2011 21:44
Помогите исправить ошибки в лабораторных работах по информатике muzhik65 Общие вопросы Javascript 18 06.05.2011 13:39
Помогите исправить ошибки. AJAX на MooTools 1.11 dron79 Библиотеки/Тулкиты/Фреймворки 0 26.08.2010 10:40
Помогите исправить расположение окон abramovichanya Работа 2 10.07.2009 02:00