premikanje, brisanje, shranjevanje blokov
 
juresl 11. jul 2009 08:49:04 Pridružen od:
16. avg 2007
209 objav
74 23 4
#1

Pozdrav!



Zanima me, če ima kdo skripto, ki omogoča premikanje blokov (divov) na določeno mesto in shranjevanje le teh. Torej, ko en blok primeš in ga daš na neko mesto (npr. nad drugega) se pozicija shrani (preko piškotkov). Če bi se dalo tudi zapiranje bloka, torej da se blok odstrani in shrani v piškotek, da se ob naslednjem obisku strani več ne prikaže.



Za primer dam stran: http://www.rtvslo.si/



Lp, Jure


všeč(0) ni všeč(0) spam(0)
 
Vini 11. jul 2009 09:25:36 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#2

jQuery ima zagotovo kakšen plugin v tem smislu.


všeč(0) ni všeč(0) spam(0)
 
juresl 11. jul 2009 09:32:25 Pridružen od:
16. avg 2007
209 objav
74 23 4
#3

Iskal že pa nič našel. :(


všeč(0) ni všeč(0) spam(0)
 
Vini 11. jul 2009 10:06:58 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#4

Pa predelaj kakšnega obstoječega, teh drag-n-drop pluginov je malo morje, dodelaš le to, da se zadeva shrani v cookie.


všeč(0) ni všeč(0) spam(0)
 
carli 11. jul 2009 10:18:37 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#5

Jquery UI ima ql stvar, samo kako potem obdeluješ zaporedje itd ... je pa druga stvar, če ne znaš, je bolje da kje najdeš kak narejen plugin. Glej tudi pod sortable, ker načeloma sortiraš bloke v neko zaporedje ...


všeč(0) ni všeč(0) spam(0)
 
juresl 11. jul 2009 14:12:34 Pridružen od:
16. avg 2007
209 objav
74 23 4
#6

Okej, da nebom nove teme odpiro.



Zaj sem se odločo da nebom uporabo tega premikanja, ampak brisanje pa bi vseeno. Torej jquery ima modul, ki poskrbi da določeno stvar izbrišemo na lep način:


$("button").click(function () {
$("div").fadeOut("slow");
});

Torej ob kliku na <button>vsebina</button> se skrije vse kar je v div oznaki, vse super in prav le to me muči, kako bi lahko naredil takole:

Imam več različnih divov, ki je treba, da se skrije vsak posebej (ne da se ob kliku skrijejo vsi), torej nekako bi moral to narediti preko getElementById, ampak potem moram spet za vsako pisat novo kodo.



Imam pa še eno vprašanje glede piškotkov v javascriptu. Na neki strani sem pobral tri funkcije za ustvarjanje, branje in izbris piškotka.


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*;
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);
}*

*Delajo kot morajo, ampak jas nisem vešč javascriptu, zato bi proso nekoga, da mi naredi oz. pomaga naredit tole:

- ob kliku na gumb X bi se določen div skril in ustvaril piškotek, ki bi vseboval id tega diva

- ob ponovnem vstopu na stran bi se moral piškot prebrat in videt, če obstaja, če bi obstajal se div z tem idjem nebi smel prikazat



Nevem, če sem si prav zadal tole, ampak pomoje je to edina pot za rešit tako stvar. Primer še vedno ostaja http://www.rtvslo.si/.



Lep pozdrav, Jure*


všeč(0) ni všeč(0) spam(0)
 
cyman 11. jul 2009 15:25:25 Pridružen od:
20. dec 2008
545 objav
282 28 3
#7

Do kdaj bi potreboval? Piši mi na ZS, pa se dogovoriva.


všeč(0) ni všeč(0) spam(0)
 
juresl 11. jul 2009 15:29:48 Pridružen od:
16. avg 2007
209 objav
74 23 4
#8

cyman:

Do kdaj bi potreboval? Piši mi na ZS, pa se dogovoriva.




Ni vezano na čas. Saj če lahko me samo usmeri na prave poti pa probam sam naret, da se nebote drugi mučli... Hvala v naprej!


všeč(0) ni všeč(0) spam(0)
 
cyman 11. jul 2009 15:34:52 Pridružen od:
20. dec 2008
545 objav
282 28 3
#9

Za tisto, da ti ne zbriše vseh divov moraš narediti tako, da narediš eno referenco na gumbu, ki ga klikneš. Recimo gumbu daj atribut rel="5" in ID divu, ki ga brišeš, enak id, se pravi id="5".

Ko se ti sproži jquery click event, dostopaš do vrednosti rel gumba, ki je bil kliknjen z metodo this. Ne vem iz glave kako prideš do vrednosti atibuta, vem da z nekimi [attr=rel] ali nekaj takega. No, to vrednost shraniš v eno variablo in potem brišeš div s tem IDjem.

To je dinamičen način, statičnega si pa že sam ugovovil. Za vsak gumb poseben click event.


všeč(0) ni všeč(0) spam(0)
 
cyman 11. jul 2009 15:36:39 Pridružen od:
20. dec 2008
545 objav
282 28 3
#10

Kar se cookijev tiče, bi si moral malo bolj pogledat. Takoj zatem ko brišeš div, moraš še nastavit cookie.

Za nalaganje bi pa moral v en array zbrat podatke, ko se stran naloži in skrit tiste, ki jih nočeš.


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se