Autor | Zpráva | ||
---|---|---|---|
Tin Profil |
#1 · Zasláno: 5. 9. 2005, 16:31:50
Jak by se tohle dalo zjednodušit, aby to neházelo hlášku "Out of memory"?
function nahodnorm1(){ ran1 = Math.ceil ( Math.random () * 1000 ); if ( ran1>=document.getElementById("od").value && ran1<=document.getElementById("do").value ) { document.getElementById("obrazky").innerHTML = "<a href=\"kytka_velka_" + ran1 + ".JPG\" target=\"_blank\"><img src=\"kytka_mala_" + ran1 + ".JPG\"></a><br><br><br>"; nahodnorm2() } else { nahodnorm1(); } } Pozn.: Určím náhodný číslo "ran1" od 1 do 1000 Zkoušim jestli "od" > ran1 > "do" ~NE: znovu ~ANO: Zobrazím obrázek s příslušnym číslem obalenej odkazem Zavolám další takovouhle funkci (je jich 10) |
||
centi Profil |
#2 · Zasláno: 5. 9. 2005, 16:36:34
Mám taký dojem, že v javascripte musí byť každá časť podmienky v zátvorkách. Čiže ako prvé by som skúsil upravit IF na:
if ((ran1>=document.getElementById("od").value) && (ran1<=document.getElementById("do").value)) |
||
peta Profil * |
#3 · Zasláno: 5. 9. 2005, 18:53:25
function objGet(x) {return document.getElementById(x)}
function getv(x) {return objGet(x).value} function nahodnorm1() { var a=Math.ceil(Math.random()*1000); if ( a>=getv("od") && a<=getv("do") ) { objGet("obrazky").innerHTML = '<a href="kytka_velka_' + a + '.JPG" target="_blank"><img src="kytka_mala_' + a + '.JPG"></a>'; nahodnorm2(); } else nahodnorm1(); } a misto BR pouzit margin-bottom:4.5em nebo neco podobnyho. centi Nemusi. funguje zapis aa||bb aa&&bb (aa<bb && bb<cc) hlavne u if musi byt zavorka if (aa<bb) dd="xxx";else dd="yyy"; dd=aa<bb?"xxx":"yyy"; |
||
peta Profil * |
#4 · Zasláno: 5. 9. 2005, 18:57:06
Tin to out of memory to hlasi, protoze to mas zacykleny v sobe asi 1000x mozna donekonecna. Kdybys dal odkaz na stranku...
function nahodnorm1() { var a=Math.ceil(Math.random()*1000); if () nahodnorm2(); else nahodnorm1(); } |
||
Tin Profil |
#5 · Zasláno: 5. 9. 2005, 20:56:14
no právě - ten kód je šílenej, opakuje se to snad 10000x nebo co já vim...
celá stránka je tady http://ucdam-hb.wz.cz/data/index.html ale v tom se asi nikdo nevyznáte (věcí tohodle typu tam je víc (4 základní funkce, někt. se ještě větví a pak teprve takovejhle šílenej kód.... a bez poznámek!). Ale kromě toho out of memory to všechno funguje tak jak chci - teda občas... |
||
Tin Profil |
#6 · Zasláno: 5. 9. 2005, 21:24:17
Ještě zajímavá věc: V IE to hází Out of memory, ale O. i Moz. jsou OK
Asi se vykašlu na IE. Stejně ho už požívám tak na 70% Lidi už to neřešte. |
||
peta Profil * |
#7 · Zasláno: 6. 9. 2005, 13:19:50
Tin
pockej, co to ma jako delat, cely? Pozn.: Určím náhodný číslo "ran1" od 1 do 1000 Zkoušim jestli "od" > ran1 > "do" ~NE: znovu ~ANO: Zobrazím obrázek s příslušnym číslem obalenej odkazem Zavolám další takovouhle funkci (je jich 10) - volas 10x tu samou funkci, ne? - a davas nahodne cislo mezi necim, co sazet na jistotu? Co tohle? function objGet(x) {return document.getElementById(x)} function getv(x) {return objGet(x).value} function nahoda() { var a,b; b=getv("do") a=getv("do")-b; a=Math.ceil(Math.random()*a); a+=b; objGet("obrazky").innerHTML = '<a href="kytka_velka_' + a + '.JPG" target="_blank"><img src="kytka_mala_' + a + '.JPG"></a>'; } function startobrazky() {var i;for (i=0;i<10;i++) nahoda()} - nebo to ma jako 10x zkusit najit nejaky obrazek? Pak ti staci jen 1x spustit nahoda() , protoze to jiste jisto najde cislo v rozsahu. |
||
peta Profil * |
#8 · Zasláno: 6. 9. 2005, 13:20:45
b=getv("od") ... sory :)
|
||
Tin Profil |
#9 · Zasláno: 6. 9. 2005, 16:41:31
UŽ TO NEŘEŠ, V OPEŘE TO FUNGUJE
|
||
habendorf Profil |
#10 · Zasláno: 6. 9. 2005, 16:43:20
UŽ TO NEŘEŠ, V OPEŘE TO FUNGUJE
Když už něco považuješ za vyřešené, tak to zamkni. |
||
Tin Profil |
#11 · Zasláno: 6. 9. 2005, 16:48:04
Je tam funkce pro zobrazení všech kytek v intervalu (serie), to samý pozpátku(negser), konkrétní čísla (kytky) a náhodný výběr v intervalu od-do (nahod, větví se na náhodná normální a reverzní)
|
||
peta Profil * |
#12 · Zasláno: 6. 9. 2005, 18:25:28
Tin jenze opera je 2% prohlizec :) mozilla ma kolem 20%, ie kolem tech 70%. Kdyz ti to funguje jen v opere, tak je to podle mne nepouzitelny script.
|
||
Tin Profil |
#13 · Zasláno: 6. 9. 2005, 18:38:27
ad a) Když si ho dělám pro OSOBNÍ potřebu, tak jde o to, aby MĚ běžel
ad b) IE to u mně (jinde třeba jo) nezvládá výpočtově, skript je ok (jinak by přece neběžel vůbec a nikde) |
||
peta Profil * |
#14 · Zasláno: 7. 9. 2005, 12:06:09
Tin Jj, dobry. Script podle mne neni oki, ale nevim, co to ma presne delat. Jestli jen nahodne vybrat 1 z 1000 obrazku v rozsahu, ktery zadam do poli od-od, pak je lepsi to moje reseni, kde se nema, co zacyklit do 10.000 cyklu.
Jestli sem to spravne pochopil, tak ty tam das treba od 200 do 600 a pak vyberes nahodne cislo do 1000. Coz je teda jaksi divny. Odectu 600-200=400, udelam random 400, to mi vyhodi treba 158 ( :))) ) a pak dam 200+158 = 358 je cislo obrazku. Zadne rozhodovani, zda je cislo v nejakem rozsahu od do. |
||
Fred Profil |
#15 · Zasláno: 7. 9. 2005, 12:45:24
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0