Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   смена CSSна сайте в зависимости от дня недели (https://javascript.ru/forum/dom-window/13723-smena-cssna-sajjte-v-zavisimosti-ot-dnya-nedeli.html)

dac_60 10.12.2010 21:35

смена CSSна сайте в зависимости от дня недели
 
Доброго всем.

Признаюсь честно в Javascript полный ноль, но постала потребность сделать смену CSS на сайте в зависимости от дня недели.

Подскажите как сделать чтоб изменялся файл CSS взависимости от того какой сегодня день (пн, вт, и т. д.)?

ksa 10.12.2010 21:38

Цитата:

Сообщение от dac_60
как сделать чтоб изменялся файл CSS взависимости от того какой сегодня день (пн, вт, и т. д.)?

Т.е. как сменить сам ЦСС-файл ты уже вкурсе?

А вот как узнать день недели...
http://javascript.ru/forum/misc/9390...en-nedeli.html

dac_60 10.12.2010 21:39

ksa,
если только ручками в шаблоне :), а так то нет.

ksa 10.12.2010 21:42

dac_60, серверный язык каккой?

dac_60 10.12.2010 21:59

вообще то кмс стоит DLE

ksa 10.12.2010 22:07

Если есть серверный язык - можно сделать цсс-файлы такого типа

f0.css
f1.css
...
f6.css


тогда при генерации хтмля можно использовать нечто подобное

<link rel="stylesheet" type="text/css" href="f#($h#7)#.css">


Пример на csp...

dac_60 10.12.2010 22:30

ksa,
на csp - не работает.

я думаю что лучше на javascript это сделать

monolithed 10.12.2010 23:12

Цитата:

Сообщение от ksa
f#($h#7)#

боюсь даже спросить что это? :)

dac_60 откроете файл main.tpl, найдете файл, который отвечает у вас за стили, замените на код ниже, но перед этим создайте в каталоге шаблона css 7 файлов css с названиями style1, style2 и тд:


<?php
$i = 0;
$array = array();
while($i++<7){
	array_push($array, $i);
}
?>

<link rel="stylesheet" type="text/css" href="{THEME}/css/style<?php echo $array[date("w",time())].'.css'; ?>" />

kadabrik 10.12.2010 23:12

Функция для динамической подгрузки*:

<script>
function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}
</script>

*взято отсюда

ее вставить в HEAD.
Подключать таблицу стилей вызовом:

loadjscssfile("путь_к_файлу.css", "css");

получить день недели можно c помощью метода day объекта Date

monolithed 10.12.2010 23:26

kadabrik ну зачем всякий сусор из сети нести, можно гораздо проще, по аналогии с примером выше на PHP:

<script type="text/javascript">
window.onload = function(){
    var i = 0, array = [];
    while(i++<7){
        array.push(i);
    }
    document.getElementsByTagName('link')[0].setAttribute('href', 'style'+array[new Date().getDay()]+'.css');
};
</script>


dac_60, только номер элемента не забудьте поменять или же ничего не нужно менять если файл будет стоять первым.


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