PHP expert |
|
Ik zou een array maken met alle divs/images en hun state.
array schreef: [0] => directnaar,image31,1
[1] => jouwmening,image3,1
[2] => actueelnieuws,image22,1
[3] => laatstewijzigingen,image20,1
[4] => jarig,image100,1
In je cookie, bv blocks, zal een string zijn van die array na elkaar. Je moet dus terug die array opbouwen. Dit kan je makkelijk doen met een functie. Een voorbeeldje.
this.blocks = new Array();
function init() {
/* Thanks to fangorn */
var c = document.cookie;
var start = c.indexOf('blocks' , 0) + 7;
var eind = c.indexOf('blocks' , start);
if(eind == -1) eind = c.length;
var cookieData = c.substring(start,eind);
var parts = cookieData.split(',');
//restore the data in the array
var index = 0;
for( var i = 0 ; i < parts.length ; i++ ) {
if( i > 0 && i%3 == 0 ) {
this.blocks[++index] = parts[i];
} else if( i == 0) {
this.blocks[index] = parts[i];
} else {
this.blocks[index] += ',' + parts[i];
}
}
}
this.blocks = new Array(); function init() { /* Thanks to fangorn */ var c = document.cookie; var start = c.indexOf('blocks' , 0) + 7; var eind = c.indexOf('blocks' , start); if(eind == -1) eind = c.length; var cookieData = c.substring(start,eind); var parts = cookieData.split(','); //restore the data in the array var index = 0; for( var i = 0 ; i < parts.length ; i++ ) { if( i > 0 && i%3 == 0 ) { this.blocks[++index] = parts[i]; } else if( i == 0) { this.blocks[index] = parts[i]; } else { this.blocks[index] += ',' + parts[i]; } } }
Je moet dus een array variable buiten je functies maken die de toestand van je blocks bijhoud. Ik heb je de init functie gegeven. Nu moet je dus iedere keer de cookie herschrijven wanneer iemand op een plus of min duwt. Dus je huidige functie wat aanpassen en een functie cookieSchrijf(); maken. |