Jump to content
  • 0

Генерация фоновых рисунков


buddah
 Share

Question

22 answers to this question

Recommended Posts

  • 0

Есть страница, в ней блок с фоновым рисунком.

Задача: менять фоновый рисунок из выборки например в 5 фотографий случайным образом при каждом заходе на страницу.

Пять разных класса css как константа с номерами в конце 0, 1, 2, 3, 4. Потом либо на стороне сервера, либо в JS генерируешь случайное число от 0 до 4 и присваиваешь нужной ноде имя класса в виде константа + число.

Link to comment
Share on other sites

  • 0

я вот сегодня точно таким же вопросом задался. Решил сам написать. Так как в ЖС вообще не соображаю, решил делать в пхп.

Меню на одном сайте так сделал. Смысл в том, что когда ты на странице этого пункта меню, он должен быть некликабелен.

Edited by Softlink
Link to comment
Share on other sites

  • 0

я вот сегодня точно таким же вопросом задался. Решил сам написать. Так как в ЖС вообще не соображаю, решил делать в пхп.

Я вот после подсказки Psywalker нашел вот такую штуку на пару строчек (только там для боди):

<html>
<head>
<script type="text/javascript">
var totalCount = 8;
function ChangeIt()
{
var num = Math.ceil( Math.random() * totalCount );
document.body.background = 'bgimages/'+num+'.jpg';
document.body.style.backgroundRepeat = "repeat";// Background repeat
}
</script>
</head>
<body>
// Page Design
</body>
<script type="text/javascript">
ChangeIt();
</script>
</html

Link to comment
Share on other sites

  • 0

На заметку домохозяйке начинающему программисту:

Math.random() генерирует вещественное число от 0 до 1.

Так вот же как тут автор его использует:

var num = Math.ceil( Math.random() * totalCount );

totalCount - это число фоновых изображений сайта, а Math.ceil () — округляет число к целому, и возвращает результат.

Вроде все правильно?

По крайней мере скрипт вот тут работает корректно.

Или я что-то недопонял?

Edited by buddah
Link to comment
Share on other sites

  • 0

Бррр, не понял. Рандомно любое из этих чисел или по очереди?

|| - вот эти две палочки расшифровываются как OR (или)

Напишу другим языком, значения num - целые числа в диапазоне 0..5

  • Like 1
Link to comment
Share on other sites

  • 0

Ты про то, что может принять значение 0?

Я про то, что при totalCount=5 количество случайных чисел 6

Да, но это если округлять в большую сторону, как у buddah, с помощью Math.ceil

Link to comment
Share on other sites

  • 0

Math.random()

Возвращает случайное число между 0 и 1. Чтобы получить случайное целое число между нулем и другим максимальным значением, используйте формулу:

Math.round(Math.random() * n)

Где n - верхнее целое число приемлемого диапазона.

Чтобы получить случайное целое число в диапазоне, начинающемся с номера, отличного от 0, используйте формулу:

Math.round(Math.random() * n) + m

где m. - самое низкое целое число приемлемого диапазона, и n+m равняется максимальному значению диапазона.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy