Posunutie info cez javascript

Programovacie jazyky, rady, poradňa...
Nizo
Amateur
Amateur
Príspevky: 12
Registrovaný: 24 dec 2004, 11:19

Posunutie info cez javascript

Príspevok od používateľa Nizo »

Nadar potreboval by som pomôcť. No mám stránku a v nej mám rozne CSS a človek má na výber že ktorý chce. V tej stránke sú odkazy na ďaľšie sekcie a chcem aby aj v nich bol taký istý štýl aký si človek vybral. No chcem sa spýtať jak by ste to riešili. Podporu PHP nemám čiže asi ostáva javascript.... Za nápady diki
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

jedina moznost je naplnat si informaciu o aktualnom zvolenom style do cookies prostrednictvom javascriptu.

tento kod som nasiel na jednej stranke a vypada dost dobre:

Kód: Vybrať všetko

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
takze pri zvoleni styly vyvolalaj funkciu createCookie
napr.:

Kód: Vybrať všetko

createCookie("style","blue",180);
a pri kazdom nacitani stranky sa vykona nieco taketo:

Kód: Vybrať všetko

var selectStyle = readCookie("style");
// vrati ti hodnutu kolacika, teda v tomto pripade "blue"
zadefinuj si aj nejaky defaultny style, pretoze pri prvom nacitani stranky nebude cookies existovat (ibaze navstevnik uz bol na tvojej stranke a kolacik este neexpiroval)

ma to vyhodu, pretoze kolacik ostava ulozeny u navstevnika (ak si cookies priebezne nemaze alebo dovtedy neexpiruje) a pri opatovnom navstiveni stranky sa mu zvoly posledne navoleny style pri poslednej navsteve.

good luck.
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Príspevok od používateľa caesar1987 »

takto to mam ja na stranke:

Kód: Vybrať všetko

//funkcie cookies
function SetCookie(name,value,days,path,domain)
{
if(!path)path="/"
if(GetCookie(name))DeleteCookie(name,path)
expires =new Date();
expires.setTime(expires.getTime()+(1000*60*60*24*30));
szCookie= name+"="+escape(value)
szCookie+=((expires)? ";expires="+expires.toGMTString() : "")
szCookie+=((path )? ";path="+ path: "")
szCookie+=((domain)? ";domain="+domain : "") 
document.cookie=szCookie
return document.cookie;
};

function GetCookie(name)
{
var dc		= document.cookie;
var prefix	= name + "=";
var begin	= dc.indexOf("; " + prefix);
if(begin == -1)
{
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else begin += 2;
var end = document.cookie.indexOf(";", begin);
if (end == -1)  end = dc.length;
return unescape(dc.substring(begin + prefix.length, end));
};

function DeleteCookie (name,path){
if(!path)path="/"
var szValue=GetCookie(name)
if(!szValue)return document.cookie
document.cookie=name+"="+szValue+" ; expires=Thu, 2 Aug 2001 00:00:01 GMT ;path="+path+";"
return document.cookie;
}

Kód: Vybrať všetko

var temaaktual;
var temaaktualc = GetCookie('temac');
if (temaaktualc == null) {tamaaktualc = 'tema1';
};

if (temaaktualc == 'tema1') {javascript: tema1();
temaaktual='pictures/tema1_preview.jpg';
};

if (temaaktualc == 'tema2') {javascript: tema2();
temaaktual='pictures/tema2_preview.jpg';
};
Nizo
Amateur
Amateur
Príspevky: 12
Registrovaný: 24 dec 2004, 11:19

Príspevok od používateľa Nizo »

Fajn diki za odpoveďe. Ešte ma tak napadlo dá sa nejako kombinovať PHP a javascript? Trebárs nejakú podmienku čo v PHP prejde a vykoná sa nejaký skript. trebárs jak sa dá kombinovať PHP a HTML že

...
if ...
{
?>
bla bla
<?
}
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Nizo napísal:Fajn diki za odpoveďe. Ešte ma tak napadlo dá sa nejako kombinovať PHP a javascript? Trebárs nejakú podmienku čo v PHP prejde a vykoná sa nejaký skript. trebárs jak sa dá kombinovať PHP a HTML že

...
if ...
{
?>
bla bla
<?
}
jednoducho :)
if ...
{
?>
<script language="javascript">
function nieco()
{
}

nieco();
</script>
<?
}
else
{
?>
<script language="javascript">
function nieco_druhe()
{
}

nieco_druhe();
</script>
<?
}
Nizo
Amateur
Amateur
Príspevky: 12
Registrovaný: 24 dec 2004, 11:19

Príspevok od používateľa Nizo »

Som dobrý debil to ma mohlo napadnúť. Diki
Napísať odpoveď