Полная смена css
Мне нужен скрипт смены дизайна (то есть смены css) Вот в паблике я нашел скрипт Нажмите сюда! но он не доработан.... на сайте укоза там как бы сайт разделен http://domain.ru/ и http://domain.ru/index/ поэтому когда я меняю на странице дизайн (css) то он не меняется http://domain.ru/index/ и наоборот....
Заранее спасибо |
Johan, куда проще и продуктивнее сделать простой тестовый пример и выложить его тут.
Может тебе его и подправят... |
Сам скрипт
function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "="); if (c_start!=-1) { c_start=c_start + c_name.length+1; c_end=document.cookie.indexOf(";",c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return ""; } function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); } var diz = getCookie('mydiz') ? getCookie('css1') :'styles1'; document.write('<link type="text/css" rel="StyleSheet" href="http://poligon09.do.am/'+diz+'.css">'); function dizsave() { setCookie('mydiz',document.getElementsByName('mdiz')[0].value, 365); location.reload(); } Смена Код:
<select name="mdiz"> Вот я создал сайт специально на укозе что бы показать проблему http://poligon09.do.am/ я создал 2 ксс, 1 - стандартный 2 - поменял верхний беграунд и цвет шрифта слева менять дизайн когда меняешь дизайн на главной странице - тобишь http://poligon09.do.am/, диз меняется везде во всех модулях, кроме страниц http://poligon09.do.am/index/ - а это профиль, лс, и дополнительные страницы - вот например такие как hhhhhhhhhh в меню, а если сменить дизайн на той же страницы hhhhhhhhhh то он сменится только на страницах http://poligon09.do.am/index/ (профиль лс итп) Что бы посмотреть ник и пароль на сайте test |
хелп
|
плиз
|
<link rel="stylesheet" type="text/css" href="style1.css" /> <script type="text/javascript"> window.onload = function(){ var selectedElem = document.getElementById("menu").getElementsByTagName('select'); var getElemsName = document.getElementsByTagName('link'); var getStyleName = "style2.css"; //название нового подключаемого файла for(i=0; i<selectedElem.length; i++) { selectedElem[i].onchange = function(){ for(i=0; i<getElemsName.length; i++){ var getOldElem = getElemsName[i].getAttribute("href") ; if (getElemsName[i].hasAttribute("href") && getElemsName[i].getAttribute("href") != getStyleName){ getElemsName[i].removeAttribute('href'); getElemsName[i].setAttribute("href", getStyleName); alert('Файл ' + getOldElem+ ' изменент на ' + getElemsName[i].getAttribute("href")); } } } selectedElem[i].onfocus = function() { this.form.reset(); } } } </script> <div id="menu"> <form action=""> <select> <option selected="selected" value="0"> - - - выберите - - - </option> <option value="1">изменить стиль страницы</option> </select> </form> </div> |
monolithed, о можно с куками? и как сделать если у меня не 2 css
|
"А кушать вы что, тоже за меня будете?" © "Двое из ларца"
|
<link rel="stylesheet" type="text/css" href="style1.css" /> <script type="text/javascript"> window.onload = function(){ var selectedElem = document.getElementById("menu").getElementsByTagName('select'); var getElemsName = document.getElementsByTagName('link'); for(i=0; i<selectedElem.length; i++) { selectedElem[i].onchange = function(){ for(i=0; i<getElemsName.length; i++){ var getStyleName = this.options[this.selectedIndex].value; var getOldElem = getElemsName[i].getAttribute("href"); var expires = new Date(); expires.setTime(expires.getTime() + (365 * 24 * 60 * 60 * 1000)); if (getElemsName[i].hasAttribute("href") && getElemsName[i].getAttribute("href") != getStyleName){ getElemsName[i].removeAttribute('href'); getElemsName[i].setAttribute("href", getStyleName); document.cookie = 'style' + '=' + encodeURIComponent(getStyleName) + '; expires=' + expires.toGMTString() + '; path=/; domain=' + window.location.hostname; alert('Файл ' +getOldElem+ ' изменент на ' +getCookie('style')); } } } function getCookie(name) { var regexp = new RegExp("(?:; )?" + name + "=([^;]*);?"); if(regexp.test(document.cookie)){ return decodeURIComponent(RegExp["$1"]); } return false; } selectedElem[i].onfocus = function() { this.form.reset(); } } }; </script> <div id="menu"> <form action=""> <select> <option disabled="disabled" selected="selected" value="0"> - - - Выберите - - - </option> <option value="style1.css">style1</option> <option value="style2.css">style2</option> <option value="style3.css">style3</option> </select> </form> </div> PS: не забудьте положить подключаемые файлы на сервер и помните, что это черновой вариант, который возможно требует доработок. |
monolithed спасибо, но смотри, я поставил скрипт на http://poligon09.do.am/, и смотри, теперь на страницах http://poligon09.do.am/index/, вообще ксс не распознает, и даже не меняется, куки тоже не распознаются..
|
Часовой пояс GMT +3, время: 11:53. |