Autor | Zpráva | ||
---|---|---|---|
Laky Profil * |
#1 · Zasláno: 20. 9. 2008, 11:16:24
Dobry den. Potreboval by som pomoc s opravou JS. Vopred sa ospravedlnujem za mozno pre niekoho uplne trivialnu a trapnu vec no ja som uplny zaciatocnik tak berte prosim ohlad ;). Robim web stranku a stiahol som si template z netu. Je tam jeden JS na tlacitka menu navigacie no program mi stale hodi hlasku ze je tam chyba a to konkretne v riadku "23" s hlaskou Error: Object expected. A nemam ani zdanie,co by tam mohlo byt za chybu. Tu je vypis scriptu:
// JavaScript Document var images_dir = 'images/'; var over_prepend = '_over.gif'; var img_prepend = '_img'; function add_handlers() { var i, args,d, link, img, id, to_preload, function_string; d = document; args = add_handlers.arguments; to_preload = ''; function_string = ''; if(d.images) { for(i = 0; i <args.length; i++) { id = args[i]; elem = d.getElementById(id) eval("elem.onmouseover = function() { MM_swapImage(\'"+id+img_prepend+"\',\'\',\'"+images_dir+id+over_prepen d+"\',1); } "); d.getElementById(id).onmouseout = function() { MM_swapImgRestore(); }; to_preload += "'"+images_dir+id+over_prepend+"',"; } } to_preload = to_preload.substr(0,(to_preload.length-1)); exec("MM_preloadImages("+to_preload+");"); <--- tu niekde by mala byt chyba } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i]; }} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } Dakujem za rady |
||
yFang Profil |
#2 · Zasláno: 21. 9. 2008, 12:12:22
Laky
Problém bude nejspíš v tom, že voláš funkci dříve, než je definována. Zkus vložit definici fuknce MM_preloadImages před definici funkce add_handlers. |
||
Časová prodleva: 3 dny
|
|||
RAmses Profil |
#3 · Zasláno: 24. 9. 2008, 22:31:00
Laky, ty se v tom vyznáš? Když už chceš pomoct, tak to aspoň dej do [pre][/pre] a hlavně to piš strukturovaně. Definování proměnných na jednom řádku je nepřehledné a snadno uděláš chybu a ještě hůř ji pak budeš hledat ty i ostatní.
K té chybě, zkus dát pryč exec, nevidím důvod proč to tam máš. A proč máš "+to_preload+"? |
||
Laky Profil * |
#4 · Zasláno: 25. 9. 2008, 00:53:50
Velmi pekne dakujem!!Fakt stacilo vymazat len ten exec ;) A sorry za tu upravu a tak vsetko,no ja sa prave do toho uz velmi nevyznam a je tam pre mna vela otaznikov,tak preto som chcel pomoct. Script som len stiahol z netu takze fakt som nevedel co a ako s tym ale dakujem aj za rady a do buducna aspon viem nieco nove :)Este raz dik
|
||
Časová prodleva: 16 let
|
0