Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Look&Feel (https://javascript.ru/forum/dom-window/1382-look-feel.html)

megaswin 05.07.2008 18:14

Look&Feel
 
На многих сайтах сейчас есть возможность поменять лук энд фил. Как это делать не перегружая страницы?

Андрей Параничев 05.07.2008 21:48

Что значит "Look&Feel", вы имеете в виду смену внешнего вида?
Это можно сделать разными способами, например подключать другой css-файл через JavaScript.

megaswin 06.07.2008 13:11

Да я имел ввиду смену внешнего вида. А при загрузке нового ЦСС файла внешний вид элементов автоматически меняется или надо по дереву элементов бежать и выставлять что-то? Сорри за глупые вопросы, просто никогда не сталкивался с этим

Андрей Параничев 06.07.2008 14:11

megaswin,
Да, при подключении к дереву нового элемента link с ссылкой на css-файл все стили из него будут "перекрывать" стили из ранее загруженного файла.

В реализации такого скрипта вам нужно будет следить, чтобы "очищались" уже загруженные соответствующие стили. Или использовать один элемент link с специальным идентификатором, в котором просто менять свойство href. Вот простая реализация, на которой можно протестировать работу и наследование классов стилей при "фоновом" подключении css-файла:
function changeStyle(href) {
		var styleElement  = document.createElement("LINK");
		styleElement.rel  = "stylesheet";
		styleElement.type = "text/css";
		styleElement.href = href;
		document.getElementsByTagName("HEAD")[0].appendChild(styleElement);
	}

megaswin 06.07.2008 18:43

Спасибо огромное


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