Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: JS Рандомная смена css стилей
цитата
29/04/14 в 18:21
 Mr. Frod
Подскажите, кто силен в js

Ставлю задачу рандомной загрузки css файлов. Ниже привожу скрипт, где то один раз из 10-15 стили не загружаются при обновлении страницы. Бывает что такая ошибка происходит при первой загрузке страницы.
Мне главное добиться того, что бы исключить эту ошибку при первой загрузке страницы.

В блоке "noscript" ставлю стиль, на случай если в браузере отключен js

<noscript>
<link rel="stylesheet" type="text/css" href="index.css" media="all">
</noscript>

Далее в head:

<script type="text/javascript">
function getRand(min, max){
return Math.round(Math.random()*(max-min))+min;
}

var css = new Array(
'<link rel="stylesheet" type="text/css" href="index.css">',
'<link rel="stylesheet" type="text/css" href="index01.css">',
'<link rel="stylesheet" type="text/css" href="index02.css">',
'<link rel="stylesheet" type="text/css" href="index03.css">',
'<link rel="stylesheet" type="text/css" href="index04.css">',
'<link rel="stylesheet" type="text/css" href="index05.css">',
'<link rel="stylesheet" type="text/css" href="index06.css">',
'<link rel="stylesheet" type="text/css" href="index07.css">',
'<link rel="stylesheet" type="text/css" href="index08.css">',
'<link rel="stylesheet" type="text/css" href="index09.css">',
'<link rel="stylesheet" type="text/css" href="index10.css">',
'<link rel="stylesheet" type="text/css" href="index11.css">',
'<link rel="stylesheet" type="text/css" href="index12.css">',
'<link rel="stylesheet" type="text/css" href="index13.css">',
'<link rel="stylesheet" type="text/css" href="index14.css">',
'<link rel="stylesheet" type="text/css" href="index15.css">',
'<link rel="stylesheet" type="text/css" href="index16.css">'
);

rand = getRand(0, css.length);
document.write(css[rand]);
</script>


Пробовал различные варианты в т. ч. функцию getRand, которую привел выше и везде такая ситуация.
цитата
29/04/14 в 18:44
 S_Flash
Math.round замени на Math.floor
цитата
29/04/14 в 18:46
 shlemkin
попробуй
rand = getRand(0, css.length-1);
ибо индекса под номером css.length не существует...
цитата
29/04/14 в 23:05
 Mr. Frod
Спасибо за помощь.
Действительно css.length-1 решило проблему.
цитата
30/04/14 в 09:24
 goodlover
Я через раз с таким запарываюсь. smail54.gif


Эта страница в полной версии