Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выбор рандомом таблицу css (https://javascript.ru/forum/events/1973-vybor-randomom-tablicu-css.html)

AlexMak 13.10.2008 17:21

Выбор рандомом таблицу css
 
function getrandom() {

var min_random = 1;
var max_random = 5;

max_random++;

var range = max_random - min_random;
var n=Math.floor(Math.random()*range) + min_random;
var a="art"+n+".css";
return a;
}

Как ее теперь привязать?
Пишу:
<LINK rel="stylesheet" href="javascript:getrandom()" type=text/css media="all">
Не срабатывает. Пробовал и онлоад в body пихать через document.styleSheets.href, все равно ноль эффекта.

Андрей Параничев 13.10.2008 17:36

Либо через document.write(), либо через коллекцию стилей.

ZoNT 13.10.2008 18:01

либо:
var link = document.craeteElement('link');
link.href = '.........';
link.type = 'text/css';
document.getelementsByTagName('head')[0].appendChild(link);

AlexMak 14.10.2008 00:15

var link = document.craeteElement('link');
link.href = '.........';
link.type = 'text/css';
document.getelementsByTagName('head')[0].appendChild(link);

link.href='....' - это ссылка на стиль, как я понял?
document.getelementsByTagName('head')[0].appendChild(link); - а почему тогда тут через хэд?

ZoNT 14.10.2008 09:26

http://htmlbook.ru/html/link.html :
"В отличие от тега <A>, тег <LINK> размещается всегда внутри контейнера <HEAD>..."

И ещё у меня там ошибка:
getElementsByTagName
я думаю ты уже и сам заметил...

AlexMak 14.10.2008 15:47

Спасибо, ошибки заметил, конечно, но в ие не работает почему-то, а мне как раз больше всего он нужен. Пошел обходным:
var art1 = ({...});
var art2 = ({...});
var art3 = ({...});

var art=getrandom();
  styleElement.type = "text/css";
  if (styleElement.styleSheet) {
    styleElement.styleSheet.cssText =art;
  } else {
    styleElement.appendChild(document.createTextNode(art));
  }
  document.getElementsByTagName("head")[0].appendChild(styleElement);


Переменная присваивается нормально, но почему-то вместо csstext пусто. А если присваивать напрямую, например art1, то все отлично срабатывает. Есть идеи?

AlexMak 15.10.2008 14:54

Ну? Может кто поможет?

ZoNT 15.10.2008 15:19

у меня мой вариант работает и в ИЕ и везде...

AlexMak 16.10.2008 14:08

Понятно, все равно тебе спасибо за идею. Уже все реализовал через свой вариант. Завел еще одну переменную и сравнивал просто.


Часовой пояс GMT +3, время: 06:34.