JavaScript выводит случайную фразу
Опубликовано admin-ом в категории javascript
Частенько хочется "оживить" статический сайт - допустим создать блок, выводящий случайную фразу (например случайный анекдот для развлекательного сайта или случайный совет для познавательного). Любой серверный язык позволяет создать мощный и гибкий рандомайзер, но если сайт может находиться на бесплатном хостинге без поддержки Perl или PHP...
Знакомая ситуация? Для таких хостингов выбор по сути, один - только JavaScript.
Итак, нам нужен небольшой JavaScript, который должен:
- Хранить список текстовых строк массиве;
- Методом Math.random получить случайное число;
- Конвертировать полученное число в целое, поскольку Math.random выдает число в диапазоне от 0,0 до 1,0;
- Получить элемент массива, соответствующий конвентируемому числу;
- Вывести полученный текст с помощью document.write () или JavaScript alert ();
Создаем массив
- r_text[0] = "Нравственность крепнет, когда дряхлеет плоть.";
- r_text[1] = "Целомудренна та, которую никто не пожелал.";
- r_text[2] = "Лучше когда тебя потом простят, чем не заметят.";
- r_text[3] = "Хороший поцелуй стоит еще одного.";
- r_text[4] = "Один хороший поворот приносит большую часть одеяла.";
- r_text[5] = "Любовь, деньги и заботы скрыть невозможно. ";
- r_text[6] = "Из близких отношений происходят дети.";
Цитаты из законов Мэрфи об отношениях мужчин и женщин я использую только для примера, вы можете заменить их на любые другие фразы. Не забываем, что массив индексируются нуля. Поскольку наш массив r_text состоит из семи элементов, нам нужно целое число от 0 до 6.
Получаем случайное число
- var i = Math.random();
Переменная i в настоящее время содержит дробное число от 0 до 1. Мы должны превратить его в целое от 0 до 6, чтобы его можно было использовать в качестве индекса для получения строки из массива r_text.
- i = 7 * i;
Выводим текст
Отображать текст с помощью метода document.write ():
- document.write(r_text[i]);
Вроде бы все работает - вы сами можете убедиться в этом, разместив вышеприведенный код между тегами
- <script></script>
Но программисты считают, что не существует ни одной программы, которую нельзя уменьшить хотя бы на один оператор. И действительно, содержащую случайное число переменную i, которую мы получаем аж тремя строками можно запросто описать одной строкой:
Оценить работающий скрипт можно здесь, а скачать готовый исходник можно отсюда.





