склонение в зависимости от числа
Здравствуйте
Есть форма обратной связи (php) после отправки письма использую js редирект c визуальным счетчиком обратного отсчета
<script type="text/javascript">
var i = 5;
var str = i;
$('#counter').text(str);
function time(){
document.getElementById("time").innerHTML = i;
i--;
if (i < 0) location.href = "?page=oplata_";
}
time();
setInterval(time, 1000);
</script>
echo '<h3 style="padding: 0px 5px 15px 5px; text-align: center; font-size: 14px; font-weight: bold; color: #5B3E00; width: 100%;">Сообщение успешно отправлено!<br><br>через <font color="red"><b><span id="time" id="counter">5</b></span></font> секунд страница обновится автоматически</h3>';
как можно дополнить js, чтобы слово СЕКУНД в зависимости от числа склонялась на - секунда, секунды в сети много информации как это сделать, например
function declOfNum(number, titles)
{
cases = [2, 0, 1, 1, 1, 2];
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
но у меня ничего не получается |
Воспользуйтесь поиском форума, гугла -тема неоднократно уже была, как и её решения
|
Цитата:
|
|
Цитата:
|
Цитата:
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
Цитата:
<script type="text/javascript">
var i = 5;
var str = i;
$('#counter').text(str);
function time ()
{
var declOfNum(seconds, ['секунда', 'секунды', 'секунд']);
{
var cases = [2, 0, 1, 1, 1, 2];
return titles[
(seconds % 100 > 4 && seconds % 100 < 20)
?
2
:
cases[(seconds % 10 < 5) ? seconds % 10 : 5]
];
}
document.getElementById ('time').innerHTML = declOfNum [i--];
if (i < 0) location.href = "?page=oplata_";
}
time();
setInterval(time, 1000);
</script>
echo 'Сообщение успешно отправлено!<br>через <span id="time" id="counter">5</span> страница обновится автоматически';
|
sashgera,
:cray:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>Сообщение успешно отправлено!<br>через <span id="time" id="counter">5</span> страница обновится автоматически;
<script type="text/javascript">
var i = 5;
var str = i;
//$('#counter').text(str);
function declOfNum(number, titles)
{
cases = [2, 0, 1, 1, 1, 2];
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
function time ()
{
document.getElementById ('time').innerHTML = --i+" "+declOfNum (i, ['секунду', 'секунды', 'секунд']);
//if (i < 0) location.href = "?page=oplata_";
}
//time();
setInterval(time, 1000);
</script>
</body>
</html>
|
рони, большое спасибо! Все работает! Только один момент смущает – после того, когда таймер доходит до нуля, должен быть редирект на страницу. Но у меня почему-то после нуля таймер показывает -1 undefined, а потом только редирект…
Если объясните почему так, буду очень благодарен |
рони,
кажется, я нашел ответ на свой вопрос, сделал так if (i < 1) location.href = "?page=oplata_"; |
| Часовой пояс GMT +3, время: 17:38. |