JavaScript
19 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mám jen dotaz ohledně jedné věci, potřeboval bych zjistit, jakým způsobem lze udělat, aby se mi měnilo ( náhodně ) pozadí v buňce tabulky? Jestli to někdo víte a poradil byste mi, tak bych to uvítal :-) Díky moc Generování náhodných čísel bych věděl, ale nevím, jak to udělat s tím pozadím, samotný obrázek v textu bych měnit dokázal, ale to pozadí mi nejde :-(
-
kdyz umis generovat nahodny cisla, taxi vygeneruj nahodny RGB barvy (rr,gg,bb- red, green, blue)
-
Jo to jo, ale já to blbě napsal, já bych chtěl, aby se mi měnilo pozadí, ale myslel jsem tím jako obrázek na pozadí a to mi právě nejde!
-
no pojmenuj si ty obrazky nejakyma cislama: 1.jpg (gif), 2.jpg, ....., az kolik jich mas, a pak jen to nahodne generovany cislo upravys nejakym vypoctem tak, aby vysledky vychazeli prave v rozmezi 1- pocet tvych obrazku, a je to pak staci jen echo ($vysledek.".jpg"); do src u obrazku.. (php by na tohle bylo lepsi nez JS,..)
-
Do PHP jsem se zatím ještě nepustil :-( Ale já to potřebuju jako pozadí ( obrázek )
-
a má se to měnit při každzm načtení stránkz nebo po nějakzm čase?
-
pokud jsem spravne pochopil otazku mohla by pouzitelna odpoved vypadat nejak takto: ... <td id="bunka1" style="background-image: url(./poz01.png); background-repeat : repeat;">te gsfdg fd fd sdfgs gdf fdst</td> ... - pro tuto bunku tabulky je nadefinovano pomoci stylu ve vsech osach se opakujici pozadi (obrazek poz01.png), bunce je navic (kvuli snazsi dosazitelnosti z javascriptu) prirazeno vlastni _unikatni_ id. Javascript schopny menit toto pozadi pak muze vypadat nejak takto (pro nazornost jej uvadim jako udalost onclick ke klasickemu tlacitku): <input type="button" value="test" onclick="document.getElementById('bunka1').style.backgroundImage='url(./poz02.png)';" />
-
Po každém načtení
-
OK zkusím to, díky moc
-
Mám to takhle, ale nejde to, někde je chyba, jen nevím kde... <SCRIPT> <!-- var Zmena = new VytvorPole('pozadi/odkaz_p.jpg','pozadi/blesk_p.jpg','pozadi/ja_p.jpg'); function VytvorPole() { this.length = VytvorPole.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = VytvorPole.arguments[i] } function Nahodne(pocet) { var nahcis = Math.round((pocet-1) * Math.random() + 1) return nahcis document.all.zmenapozadi.style.backgroundImage='url(Zmena[Nahodne(Zmena.length)])'; } // --> </SCRIPT>
-
Chybka. document.all je deprecated konstrukce ktera nebude funkcni mimo MSIE. Naopak getElementById umi i MSIE a jedna se o standardni funkci z W3C DOM.
-
A jinak myslíš, že je vše ok?
-
nemám mít tenhle řádek někde jinde? document.getElementById('zmenapozadi').style.backgroundImage='url(Zmena[Nahodne(Zmena.length)] )';
-
ten retezec 'url(Zmena[Nahodne( Zmena.length)] )' nema prilis smysl volana funkce uvnitr retezce prece nebude takto vyhodnocena. navic cely radek document.getElementById('zmenapozadi').style.backgroundImage='url(Zmena[Nahodne( Zmena.length)] )'; urcite nepatri do funkce nahodne, vznika ti tam dosti neprijemna nekonecna rekurze
-
Nějak se mi to nedaří, vím, že to takhle je blbě, ale jak to udělat nevím
-
<script type="text/javascript"> <!-- var Zmena = new VytvorPole('pozadi/odkaz_p.jpg','pozadi/blesk_p.jpg','pozadi/ja_p.jpg'); function VytvorPole() { this.length = VytvorPole.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = VytvorPole.arguments[i] } function Nahodne(pocet) { return (Math.round((pocet-1) * Math.random() + 1)) } document.getElementById('bunka01').style.backgroundImage='url('+Zmena[Nahodne(Zmena.length)]+')'; // --> </script>
-
Asi to vzdám, prostě jsem hňup a nejde mi to.
-
Konečně už to mám :-) Díky moc! <td id="bunka" ><script> document.getElementById('bunka').style.backgroundImage='url('+Zmena[Nahodne(Zmena.length)]+')'; </script>
-
proste dej do JS: var nahodneCislo = <<sem definici nahody od 1 do poctu obrazku>>; if(document.getElementById) document.getElementById('id_bunky').style.background-image = 'obrazek' + nahodneCislo + '.gif'; ...a obrazky nazvi obrazek1.gif atd.