Autor | Zpráva | ||
---|---|---|---|
Pavel Dumbrovský Profil |
#1 · Zasláno: 14. 9. 2010, 10:49:52
Zdravím,
jsem JS amatér a potřeboval bych poradit, jak správně uvodit výpis funkce v jiné funkci. Konkrétně zde je jakási funkce pro flash banner: AC_FL_RunContent( 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0', 'width', '900', 'height', '90', 'src', 'nejaka_adresa_banneru', 'quality', 'high', 'pluginspage', 'http://www.macromedia.com/go/getflashplayer', 'align', 'middle', 'play', 'true', 'loop', 'true', 'scale', 'showall', 'wmode', 'window', 'devicefont', 'false', 'id', 'nejaka_adresa_banneru', 'bgcolor', '#ffffff', 'name', 'nejaka_adresa_banneru', 'menu', 'true', 'allowFullScreen', 'false', 'allowScriptAccess','always', 'movie', 'nejaka_adresa_banneru', 'salign', '' ); //end AC code a já nejsem schopen do toho pořádně vložit funci eval a proměnnou, která by měla přijít všude namísto 'nejaka_adresa_banneru' aby to fungovalo, zde je kus js kódu, okdud to potřebuji sebrat: document.writeln('<A HREF="'+eval("lnk"+rnd)+'"><IMG SRC='+eval("gfx"+rnd)+' ALT="'+eval("alt"+rnd)+'"><BR>'+eval("txt"+rnd)+'</A>'); Zkoušel jsem věci jako např. 'src', '"'eval("lnk"+rnd)'"', ale to nevalí, prosím o pomoc, děkuji! |
||
Chamurappi Profil |
#2 · Zasláno: 14. 9. 2010, 11:02:25
Reaguji na Pavla Dumbrovského:
„nejsem schopen do toho pořádně vložit funci eval a proměnnou“ Brrr, na co eval ? To je ale humus. Zbav se eval ů a na pole používej pole.
„Zkoušel jsem věci jako např.“ Z uvedeného kódu (s tím humusem) je patrné, jak se v JavaScriptu (a ve většině jazyků založených na Céčku) spojují řetězce. Plusem. Rozdíl mezi jednoduchými a dvojitými uvozovkami neexistuje. |
||
Pavel Dumbrovský Profil |
#3 · Zasláno: 14. 9. 2010, 11:08:08
Díky za odpověď,
dobrá, ale konkrétně? Zkoušel jsem : 'src', ' + eval("gfx"+rnd) + ', 'src', '" + eval("gfx"+rnd) + "', ale furt nic, takže něco dělám pořád blbě. Já v JS opravdu nedělám, takže co dělá funkce eval nemám zdání a pole jsem v JS ještě nikdy nedělal. :) |
||
Chamurappi Profil |
#4 · Zasláno: 14. 9. 2010, 14:15:15
Reaguji na Pavla Dumbrovského:
„Já v JS opravdu nedělám“ Ani v jiných jazycích? Tohle je dost podobné všude. Uvozovkou (apostrofem) začneš zápis řetězce, který skončí další uvozovkou. To, co je v řetězci, se nevyhodnocuje jako příkaz. „co dělá funkce eval nemám zdání“ Vyhodnocuje řetězec, jako kdyby to byl skript. Takže pokud je v proměnné rnd např. číslo 5, vrátí eval("gfx" + rnd) hodnotu proměnné gfx5 . Ale řetězec ' + eval("gfx"+rnd) + ' zůstane řetězcem ' + eval("gfx"+rnd) + ' , protože to je jen obyčejný řetězec.
„pole jsem v JS ještě nikdy nedělal“ Viz Pole na JPW. Konkrétně tam dáš 'src', gfx[rnd] , až budeš používat pole.
|
||
Pavel Dumbrovský Profil |
#5 · Zasláno: 14. 9. 2010, 18:07:30
Díky za tip,
problém nebyl ani tak ve mně, to poslední co píšeš, je první co jsem zkoušel, ale ten skript byl celej strašnej. Když jsem to hodil do pole a dal tam to gfx[rnd], tak to pořád házelo chybu. Když jsem místo toho rnd dal třeba gfx[0], tak to jelo. Tak sem předělal to získání náhodnýho čísla, páč to byla šílenost: len=2; // change to equal number of banners today=new Date(); today=today.getTime()/10; rnd=today%len; teď tam mám: rnd = Math.round(Math.random()*1); a valí v pohodě. :) Tak díky! |
||
Časová prodleva: 14 let
|
0