Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zmiana tła
outlive
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.12.2007

Ostrzeżenie: (0%)
-----


Witam
Tworzę stronkę i jako pierdółkę chciałem zrobić opcję wyboru tła. Przez 3 h szukałem jakiegoś skryptu który wykona to zadanie, jednak żaden nie miał opcji zapamiętywania tła po przejściu na inną podstronę sad.gif. Wie ktoś może jak przerobić poniższy kod aby zapamiętał ustawienia. Czytałem i próbowałem trochę działać na ciasteczkach ale coś mi nie wychodzi :/. Może znacie jakieś gotowe rozwiązanie.
Z góry dzięki

Kod
<script type="text/javascript">
var backColor = new Array();

backColor[0] = '#00f0ff';
backColor[1] = '#00ff1f';
backColor[2] = '#e4ff00';
backColor[3] = '#FFFFFF';


function changeBG(whichColor){
         document.body.style.backgroundColor = backColor[whichColor];
         createCookie("bgcolor", backColor[whichColor], 14);
}

     </script>
</head>

<body>


<a href="#" onclick="javascript:changeBG(0);"><img src="blue.jpg" alt="blue" /></a>
<a href="#" onclick="javascript:changeBG(1);"><img src="green.jpg" alt="green" /></a>
<a href="#" onclick="javascript:changeBG(2);"><img src="yellow.jpg" alt="yellow" /></a>
</body>
</html>
Go to the top of the page
+Quote Post
p10
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 2
Dołączył: 23.04.2009

Ostrzeżenie: (0%)
-----


Dzisiaj jestem dobry wujek, to dam ci gotowe rozwiązanie.

przede wszystkim potrzebujesz funkcji do ustawiania i zczytywania ciastek. kiedys uzywalem tego kodu:

CODE
var Cookie = {
set: function(name, val, sec) {
if (val) {
document.cookie = name + "=" + escape (val) +
((sec) ? "; expires=" + this._time(sec): "");
} else if (this.get(name)) {
document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
},

get: function(name) {
var arg = name + "=";
var aLen = arg.length;
var cLen = document.cookie.length;
var i = 0;
while (i < cLen) {
var j = i + aLen;
if (document.cookie.substring(i, j) == arg) {
return this._getValue(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
},

_time: function(i) {
if(!i) var i = 0;
else i = i*1000;
var expDate = (new Date).getTime();
expDate = expDate + i;
var newDate = new Date(expDate);
return newDate.toGMTString();
},

_getValue: function(offset) {
var end = document.cookie.indexOf (";", offset);
if (end == -1) {
end = document.cookie.length;
}
return unescape(document.cookie.substring(offset, end));
}
};


potem tablica i funkcja
CODE

var backColor = ['#00f0ff', '#00ff1f', '#e4ff00', '#FFFFFF'];

function setBackground(v) {
if (v != null) Cookie.set('bgcolor', v);
var readCookie = Cookie.get('bgcolor');
if (readCookie) document.body.style.backgroundColor = backColor[parseInt(readCookie)];
}


na koniec wywolanie funkcji po zaladowaniu strony, ktora zczytuje ciacho i ustawia wartosc

CODE
window.onload = function() {
setBackground();
};


p.s. to nie jest idealne rozwiazanie. pojawi się problem przy 'cięższych' stronach, gdzie skrypt będzie czekał na załadowanie się całego drzewa, a dopiero na końcu ustawi kolorek.
Go to the top of the page
+Quote Post
outlive
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.12.2007

Ostrzeżenie: (0%)
-----


dzięki działa biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:12