Выбор дизайна,без формы

Discussion in 'PHP' started by qW1zer, 25 Aug 2009.

  1. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Проблема такова,нужно чтобы можно было дизайн выбирать без формы select и кнопки а просто ссылка была,нажал на ссылку красный и дизайн сменился,прошу подсказать как это реализовать!
    Заранее спасибо

    Code:
    <script>
    //Считываем куку
    function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) {
    offset += search.length
    end = document.cookie.indexOf(";", offset);
    if (end == -1) end = document.cookie.length;
    returnvalue=unescape(document.cookie.substring(offset, end))
    }
    }
    return returnvalue;
    }
    
    //Записываем куку (упрощенный вариант)
    function set_cookie(cook_name,cook_value) {
    var exp = new Date();
    var cook_time = exp.getTime() + (365*24*60*60*1000); //время жизни кука (здесь 1год)
    exp.setTime (cook_time);
    document.cookie=cook_name+'='+cook_value+'; expires=' + exp.toGMTString()+'; domain='+location.host+';';
    }
    
    diz=get_cookie('mydiz');
    if(!diz) diz='файл стилей по умолчанию';
    document.write('<link type="text/css" rel="StyleSheet" href="http:.../css/'+diz+'.css">');
    
    function dizsave() {
    set_cookie('mydiz',document.all.mdiz.value);
    location.reload();
    }
    </script>
    
    Code:
    Выберите дизайн страницы:
    <select name="mdiz">
    <option value="css файл 1">Синий</option>
    <option value="css файл 2">Красный</option>
    <option value="css файл 3">Зеленый</option>
    </select>
    
    <input name="save" type="button" value="Сохранить" onClick="dizsave()">
    
    <script>
    document.all.mdiz.value=diz;
    </script>
     
  2. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Измени функцию dizsave():
    Code:
    function dizsave(diz) {
    set_cookie('mydiz',diz);
    location.reload();
    }
    
    Второй кусок кода будет выглядеть так:
    Code:
    Выберите дизайн страницы:<br>
    <a href="javascript:void(0);" onclick="dizsave('css-файл 1');">Синий</a><br>
    <a href="javascript:void(0);" onclick="dizsave('css-файл 2');">Красный</a><br>
    <a href="javascript:void(0);" onclick="dizsave('css-файл 3');">Зеленый</a><br>
    
     
  3. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Спасибо
     
  4. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    А если нужно сменить дизайн полностью (а не только css)
    То просто сделай ссылки с гет параметрами например site.ru/reload.php?diz=red
    А в релоад просто меняй куку и загружай страницу с дизайном который написан в куке...
     
  5. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    2-=Zhenek=-
    Спасибо конечно,но это не для меня!Просто меня знакомый попросил,а яваскрипт я на уровне Hello world,а то и меньше знаю!Сайт у него на ucoz'e.А с php бы я сообразил,в юкозе просто не все так функционально как в других cms