Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa dinamickom promenom pozadine document.body.style.backgroundImage

[es] :: Javascript i AJAX :: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage

[ Pregleda: 2393 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pkt

Član broj: 67358
Poruke: 31
*.beobug.com.



Profil

icon Problem sa dinamickom promenom pozadine document.body.style.backgroundImage14.07.2008. u 19:08 - pre 193 meseci
Kao što piše u naslovu, pokušavam da napravim funkciju koja će nakon što korisnik odabere neku od ponuđenih pozadina (paterna) za pozadinu sajta ili pozadinu nekog diva, JavaScript zameni postojeću pozadinu novom. Mislio sam da to neće biti problem, jer se slično vrlo lako postiže sa promenom boje pozadine. Kada pokušam da napišem ovo
Code:
document.getElementById(IDELEMENTA).style.backgroundImage = 'noviURLslike';
ne de[ava se ništa. Stavio sam ovo:
Code:
document.getElementById(IDELEMENTA).style.backgroundImage = '';
(dakle postavio vrednost URL na prazno), pozadina se izbriše, ali kada pokušam da vratim neku drugu pozadinu ne uspeva mi. U čemu je stvar?
 
Odgovor na temu

centaur
Beograd

Član broj: 65691
Poruke: 407
89.216.98.*

ICQ: 249678363
Sajt: www.pavko.net


+24 Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage14.07.2008. u 19:40 - pre 193 meseci
Neces moci tako da radis!!!
Ti tu drugu sliku koju zelis da prikazes nisi "dovukao" u browser sa servera.
Kada se formirala strana na serveru koja je prosledjena browser-u (koju ovaj renderuje i prikazuje ono sto mi vidimo) ti nisi "pokupio" i tu sliku.
Na nacin na koji si ti to pokusao, ne mozes prikazati sliku (pozadinu).
Mozes to da postignes ako koristis ajax, ili po mom misljenju, bolja varijanta je da uradis jedan refresh te stranice
Powered by Slackware 13
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.ptt.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage15.07.2008. u 09:18 - pre 193 meseci
Ili mozda da izvrsi preload?
 
Odgovor na temu

centaur
Beograd

Član broj: 65691
Poruke: 407
91.148.95.*

ICQ: 249678363
Sajt: www.pavko.net


+24 Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage15.07.2008. u 11:09 - pre 193 meseci
Moze i tako, naravno, ali gledano sa strane optimizacije to nije najsjajnije resenje.
Stranica je "teza" nego sto je potrebno :)
Powered by Slackware 13
 
Odgovor na temu

Pkt

Član broj: 67358
Poruke: 31
*.beobug.com.



Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage15.07.2008. u 16:04 - pre 193 meseci
Hvala na ogovorima. Bio sam prevideo tu činjenicu da u memoriji browsera zapravo nemam sliku koju postavljam kao novu pozadinu. Rešenje mog problema bi bilo dovoljno dobro ako bih koristio preload, jer korisnik ima mogućnost da bira između par pozadina tako da to i nije neko opterećenje za stranicu. Znači potrebno je da u keš browsera učitam sve pozadine koje želim da dam klijentu kao mogućnost izbora. E, sad da li možete da mi kažete da li bih recimo mogao da nakon što uradim preload tih slika, napravim na primer četiri diva, svaki sa jednom vrtom pozadine i njih ugnezdim u link <a > i nakon što korisnik klinkne na neki od linkova ja postavim pozadinu. Imam sledeća pitanja:

1. Da li je CSS validno da div stoji unutar a taga? (Ja mislim da nije).
2. Ako nije validno, onda bih mogao da stavim li tag i da ga css-om podesim da se prikazuje kao blok?
3. Kako da, nakon što sam sve postavio (pretpostavimo da je u pitanju li tag unutar a taga sa odgovarajućom pozadinom), pomoću DOM putanje dođem do pozadine deteta a taga - dakle do pozadine taga li.

Ne znam da li sam bio jasan sa zadnjim pitanjem, ali to bi izgledalo ovako, recimo:

Stranica je učitana i nije bilo preloada već sam pomoću PHP-a izvukao potrebne pozadine i izgenerisao sledeći kood kojim sam postavio pozadine za li tagove:

Code:

<ul>
<a href=""><li style="background-image: pozadina1.gif;">Pozadina 1</li></a>
<a href=""><li style="background-image: pozadina2.gif;">Pozadina 2</li></a>
<a href=""><li style="background-image: pozadina3.gif;">Pozadina 3</li></a>
<a href=""><li style="background-image: pozadina4.gif;">Pozadina 4</li></a>
<a href=""><li style="background-image: pozadina5.gif;">Pozadina 5</li></a>
</ul>


Kako da dodjem do pozadine li taga? Ili mi je lakse da svakom li tagu dodeljujem (prilikom generisanja koda) neki ID, pa da taj ID prosledim kao parametar JavaScript funkciji koja menja poyadinu?

Hvala

[Ovu poruku je menjao Pkt dana 15.07.2008. u 17:32 GMT+1]
 
Odgovor na temu

centaur
Beograd

Član broj: 65691
Poruke: 407
89.216.98.*

ICQ: 249678363
Sajt: www.pavko.net


+24 Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage15.07.2008. u 20:23 - pre 193 meseci
Ne kapriam sta si napisao ovde, ali mogu ti dati predlog kako bih ja to resio, ovako, na prvu loptu :)

Definisi u okviru css-a po jednu klasu za svaku od tih pozadina.
Dodeli ID elementu kome zelis da menjas pozadinu i javascriptom mu samo promeni klasu u css-u kada korisnik klikne na neki link.
To mozes brzo da napravis a mislim da 100% radi, mada nisam testirao ;)




Powered by Slackware 13
 
Odgovor na temu

Pkt

Član broj: 67358
Poruke: 31
*.beobug.com.



Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage15.07.2008. u 21:29 - pre 193 meseci
A kako da dinamicki promenim CSS klasu nekog diva? Kako pristupam tom parametru class preko DOM putanje? Je l' može ovako: document.getElementById(id).style.class = 'imeklase';

I da li ima neko spisak parametara elemenata na stranici kojim se može pristupiti pomoću DOM putanje? Ti parametri u DOM-u se zovu drugačije od onog kako se zovu u CSS-u pa me zbunjuje a i značilo bi mi da imam sve na jednom mestu.
 
Odgovor na temu

centaur
Beograd

Član broj: 65691
Poruke: 407
89.216.98.*

ICQ: 249678363
Sajt: www.pavko.net


+24 Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage15.07.2008. u 22:33 - pre 193 meseci
Ne postoji gotova funkcija koja menja klasu elementa.
Ako ne koristis neku od gotovih JS biblioteka, moraces da je napises :)
Proguglaj, probaj, pa ako imas problema pitaj.

Opet te nisam najbolje razumeo za spisak, ali pogledaj ovo

Powered by Slackware 13
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1123
*.ptt.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage16.07.2008. u 08:27 - pre 193 meseci
Mislim da se treba malo vise eksploatisati css.

jednostavno koristi :hover - mozes ga koristiti i kao a:hover i kao li:hover i onda definises pozadinu... nema tu mnogo potrebe za JS...

i preispitaj ovo <a href=""><li ... <ul> ocekuje da kao first child ima <li> a ne <a>... To ti moze praviti problem...
 
Odgovor na temu

[es] :: Javascript i AJAX :: Problem sa dinamickom promenom pozadine document.body.style.backgroundImage

[ Pregleda: 2393 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.