склонение в зависимости от числа
Здравствуйте
Есть форма обратной связи (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, время: 06:56. |