[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Смена CSS таблиц
Marker
У меня такая трудность: нужно сделать чтобы на сайте менялись таблицы стилей. Таблиц всего 3 штуки. А сменять одна другую они должны по истечению недели. Скажите как???



Спустя 1 час, 49 минут, 33 секунды (19.02.2007 - 15:46) vasa_c написал(а):
JavaScript тут по большому счету ни причем.
Наиболее простые варианты:
- заменять файл со стилями с какой-то периодичностью (либо руками, либо планировщиком)
- сам файл стилей сделать php-сценарием, который в зависимости от даты выдавал разное содержимое
Больше не зная более конкретной задачи сказать не могу

Спустя 1 час, 13 минут, 52 секунды (19.02.2007 - 16:59) Marker написал(а):
В том-то всё и дело, что руками заменять - это как-то глупо, я и хотел на "автомат" поставить, да вот только хост мой php не поддерживает, вот и получается, что JavaScript нужен. Твой (или Ваш) вариант мне тоже понравился. Ну а на JS это ведь тоже реально. Кто-нибудь напишите на JS, пожалуйста.

Спустя 46 минут, 36 секунд (19.02.2007 - 17:46) AlexBB написал(а):
document.write('<link rel="STYLESHEET" type="text/css" href="' + (условие проверяющее неделю написанное на js ? 'css1.css' : 'css2.css') + '">');

Хотя изврат конечно, но работать будет.

Спустя 13 минут, 55 секунд (19.02.2007 - 18:00) Timok написал(а):
document.write - это уж на крайний случай...

а как по-правильному будет? Здесь - http://wdh.suncloud.ru/dhtml09.htm#ref493 - говорится, что свойство href подключаемой таблицы стилей доступно только для чтения. Правда там есть свойство disabled, которое можно изменять. Не скажу что это лучший метод - просто ничего лучше не придумывается.

JavaScript
  1. <link rel=stylesheet href="day1.css">
  2. <link rel=stylesheet href="day2.css">
  3.  
  4. &#60;script type="text/javascript">
  5. var today = new Date();
  6. if (today.getDay() == 1) {
  7. alert('понедельник');
  8. document.styleSheets[0].disabled = false;
  9. document.styleSheets[1].disabled = true;
  10. } else if (today.getDay() == 2) {
  11. alert('вторник');
  12. document.styleSheets[0].disabled = true;
  13. document.styleSheets[1].disabled = false;
  14. }
  15. </script>
- Тут идёт проверка по дням недели.

Цитата
сменять одна другую они должны по истечению недели.
это ведь ещё целый календарь надо в скрипт запихнуть...

Спустя 1 минута, 21 секунда (19.02.2007 - 18:01) md5 написал(а):
ща прийдет PHP@leksey и скажет, что это можно делать с помощью крона! =)

(ps ничего личного, если кого обидел - простите дурака)

Спустя 2 минуты, 18 секунд (19.02.2007 - 18:04) AlexBB написал(а):
Меня терзают смутные сомнения, что disabled не всеми браузерами поддерживается. Что это чисто микросовтовская штука.

Проверять лень, вопрос ждет своего исследователя ... smile.gif

Спустя 35 минут, 49 секунд (19.02.2007 - 18:39) Timok написал(а):
код который я привёл работает в ie6, opera9, ff2 и netscape8.
Но тут есть ещё нюанс - js может быть вообще отключен и тогда подключатся все стили, заданные в тегах <link>. Результат тогда может быть непредсказуемым.

Спустя 7 минут, 35 секунд (19.02.2007 - 18:47) Ghost написал(а):
Код
<?php $linkcss = getCurrentCSS(time());
?>
<link rel=stylesheet href="<?php echo $linkcss; ?>">

Спустя 12 минут, 7 секунд (19.02.2007 - 18:59) AlexBB написал(а):
Цитата(Timok @ 19.2.2007, 18:39) [snapback]13641[/snapback]
код который я привёл работает в ie6, opera9, ff2 и netscape8.
Но тут есть ещё нюанс - js может быть вообще отключен и тогда подключатся все стили, заданные в тегах <link>. Результат тогда может быть непредсказуемым.

Ну да ... а случае document.write наоборот не один не подключится. Вот и выбирай ... вчера по три или сегодня но по пять. smile.gif

На самом деле начальное условие: "php у меня нет" дурацкое ... соответственно и решения дурацкие. Из серии: "Хочу яму выкопать, но лопаты нет, есть только ложка". Ну что делать ... копай ложкой. smile.gif

Спустя 20 часов, 19 минут, 28 секунд (20.02.2007 - 15:19) Marker написал(а):
Спасибо большое, что помогаете "за спасибо"!


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.