Тема/своп кожи... версия 2! (Усс-управляемый)


Я, в принципе, у "Аякса" за уши кожу (HTML и CSS), которое загружается в фиктивную элемента (ID=SkinContainer) при загрузке страницы, а затем содержание одного из своих дивов (contentdiv) выбирается с другой AJAXHTTPRequest.

В любом случае, когда страница загружена, пользователь может нажать кнопку, чтобы поменять тему/кожи. Ниже (рабочий) код для моей темы поменять, но мне интересно, действительно ли это лучший способ, чтобы сделать это:

function themeSwap() {
    var oldTheme = themeSelect;
    themeSelect++;
    if (themeSelect>2 || themeSelect<1) {themeSelect=1;}
    $('html').addClass('js');

    var tempContentDiv = document.getElementById("contentdiv");
    var tempContent = tempContentDiv.innerHTML;

    ReplaceJSCSSFile("css/skin" + oldTheme  + ".css", "css/skin" + themeSelect + ".css", "css");
    AJAX_LoadResponseIntoElement("skinContainer", "skin" + themeSelect + ".txt", function() {themeSwapCallback(tempContent)} );
}

function themeSwapCallback (tempContent) {
    initPage();
    document.getElementById("contentdiv").innerHTML = tempContent;
    setCookie("themeSelection",themeSelect,365);
}

Что в основном и делает, что магазины свойств innerHTML из contentdiv в "tempContent" переменной, загружает новый скин в skinContainer с AJAX для выборки, а затем восстанавливает исходное содержимое, установив innerHTML будет contentdiv на "tempContent."

Причина, почему он должен использовать AJAX для выборки на верхней части своп CSS-это потому, что структура элементов меняется.

Я, наконец, сделать это правильно? или это все-таки не идеальна? :(



426
8
задан 6 февраля 2011 в 05:02 Источник Поделиться
Комментарии