Полная смена 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, время: 18:33. |