javascriptové menu

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Vikousik
Level 2.5
Level 2.5
Příspěvky: 281
Registrován: leden 08
Pohlaví: Muž
Stav:
Offline

javascriptové menu

Příspěvekod Vikousik » 16 lis 2009 15:36

Zdravím,
potřeboval bych poradit v jakym prográmku, a jak upravit javascriptové menu. Jedná se o to, že v menu (na obrázku) potřebuju přidat další odkaz pod "Univerzita Karlova".
Menu sem já nevytvářel takže mu nerozumim, ale v souboru "xaramenu.js" (což je pravděpodobně soubor ze kterého menu čerpá) je tento kód:

/*
var ma=new Array();var mx=new Array();var my=new Array();var mc=new Array();var mpos=new Array();var mal=0;var main=0;var menuw=200;var psrc=0;var pname="";var al="";var gd=0;var gx,gy;var d=document;var NS7=(!d.all&&d.getElementById);var NS4=(!d.getElementById);var IE5=(!NS4&&!NS7&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1||navigator.userAgent.indexOf('MSIE 5.2')!=-1));var IE5p5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE 5.5')!=-1);var NS6=(NS7&&navigator.userAgent.indexOf('Netscape6')!=-1);var SAF=navigator.userAgent.indexOf('Safari')!=-1;p=navigator.userAgent.indexOf('Opera');if(p>-1){p=navigator.userAgent.charAt(p+6);if(p>6)NS7=1;else NS4=1;}var ifr=(!NS7&&!NS4&&!IE5&&!IE5p5);var quirk=(d.compatMode&&d.compatMode=="BackCompat")||IE5||IE5p5;function startMainMenu(file,h,w,dir,space,align){if(w>0)menuw=w;main=dir;if(main==1||main==2)d.write("<table border=\"0\" cellspacing=\""+space+"\" cellpadding=\"0\">");if(file!=""){al="";if(align==1)al=" align=\"right\"";if(align==2)al=" align=\"center\"";if(main==1||main==2)d.write("<tr style='line-height:1px'><td"+al+">");d.write("<img src=\""+loc+file+"\" border=\"0\"");if(h>0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");d.write(" />");if(main==1||main==2)d.write("</td>");if(main==1)d.write("</tr>");if(main==3)d.write("<br />");}}function endMainMenu(file,h,w){if(file!=""){if(main==1)d.write("<tr>");if(main==1||main==2)d.write("<td"+al+">");d.write("<img src=\""+loc+file+"\" border=\"0\"");if(h>0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");d.write(" />");if(main==1||main==2)d.write("</td></tr>");}if(main==1||main==2)d.write("</table>");main=0;}function mainMenuItem(name,ext,h,w,url,tar,alt,dir,state,s){if(NS4&&main==0)return;var isgraphic=ext.charAt(0)==".";if(main==1)d.write("<tr>");if(main==1||main==2)d.write("<td"+al+">");d.write("<a ");if(url!=""||!isgraphic){if(typeof(clx)!="undefined"){url="?"+clx;tar="";alt="Click to edit";}d.write("href=\""+url+"\" ");}if(tar!="")d.write("target=\""+tar+"\" ");d.write("onmouseout=\"");if(dir>0)d.write("tidyMenu(event);");d.write("\" onmouseover=\"");if(dir>0)d.write("openMenu(event, '"+name+"',"+dir+","+bc+","+fc+");");if(state>1&&isgraphic){d[name+"_over"]=new Image();d[name+"_over"].src=loc+name+"_over"+ext;d.write("setGraphic(event, '"+loc+name+"_over"+ext+"');");}d.write("return false;\"");if(!isgraphic)d.write(" class=\""+s+"\" style=\"width:"+(w>0?w:menuw)+"px\"");d.write(">");if(isgraphic){d.write("<img src=\""+loc+name+ext+"\" border=\"0\"");if(h>0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");if(alt!="")d.write(" alt=\""+alt+"\"");d.write(" />");}else{d.write("&nbsp;"+ext+"&nbsp;");}d.write("</a>");if(main==1||main==2)d.write("</td>");if(main==1)d.write("</tr>");if(main==3)d.write("<br />");}function startSubmenu(name,style,sw){var depth=name.split("_").length+1000;if(NS4)return;if(sw>0)menuw=sw;d.write("<div id=\""+name+"\" class=\""+style+"\" style=\"z-index:"+depth+";width:"+(menuw+(NS7?bd*2:0))+"px\">");}function endSubmenu(name){if(NS4)return;d.write("</div>");if(!NS7)d.getElementById(name).onmouseout=tidyMenu;}function submenuItem(text,url,tar,s){if(NS4)return;if(text.charAt(0)=='<')d.write(text);else if(text=="---")d.write("<div class=\""+s+"\" style=\"width:"+menuw+"px\"><center><img src=\""+loc+"---.gif\" height=\"8\" width=\""+(menuw-6-(2*bd))+"\" border=0/></center></div>");else{d.write("<a ");if(url!="")d.write("href=\""+url+"\" ");if(tar!="")d.write("target=\""+tar+"\" ");d.write("class=\""+s+"\" style=\"width:"+menuw+"px\">&nbsp;"+text+"&nbsp;</a>");}}function setGraphic(event,name){if(NS4)return;psrc=(NS7)?event.target:event.srcElement;pname=psrc.src;if(NS7)event.target.src=name;else event.srcElement.src=name;}function openMenu(event,id,pos,bc,fc){if(NS4)return;var el,x,y,dx,dy;var bwidth;if(gd==0||mal==0){var p=d.getElementById(id);gx=0;gy=0;while(p&&p.offsetParent){p=p.offsetParent;gx+=p.offsetLeft;gy+=p.offsetTop;}if(p)gd=1;}if(mal>0){el=d.getElementById(ma[mal-1]);if(mx[mal-1]!=el.offsetLeft||my[mal-1]!=el.offsetTop){el.style.left=mx[mal-1]+"px";el.style.top=my[mal-1]+"px";}tidyMenu(event);}if(mal>1)pos=mpos[mal-1];if(NS7){bwidth=window.innerWidth;var p=event.target;if(p.nodeName!="A"&&p.nodeName!="IMG"&&p.parentNode.nodeName=="A")p=p.parentNode;dx=p.offsetWidth;dy=p.offsetHeight;if(mal==0){x=p.x;y=p.y;if(typeof(p.x)=="undefined"||(!NS6&&!SAF)){x=p.offsetLeft;y=p.offsetTop;while(!NS6&&p.parentNode.nodeName!="BODY"){p=p.parentNode;if(p.nodeName=="TD"||p.nodeName=="TABLE"){x+=p.offsetLeft;y+=p.offsetTop;}}}}else{el=d.getElementById(ma[mal-1]);x=el.offsetLeft;y=el.offsetTop+p.offsetTop;}if(pos!=3)x-=bd;if(pos==3&&mal>0)x+=bd;}else{bwidth=document.body.clientWidth;x=event.clientX-event.offsetX-d.body.clientLeft-gx;y=event.clientY-event.offsetY-d.body.clientTop-gy;dx=event.srcElement.offsetWidth;dy=event.srcElement.offsetHeight;if(!quirk){x+=d.documentElement.scrollLeft-2;y+=d.documentElement.scrollTop-2;}else{x+=d.body.scrollLeft;y+=d.body.scrollTop;}if(mal>0){y-=bd;if(pos!=3)x-=2*bd;}}el=d.getElementById(id);if(el&&el.style.visibility!="visible"){if(pos==1){x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;if(x+gx+el.offsetWidth>bwidth){x-=dx;pos=3;}}else if(pos==2){y+=dy;el.style.left=x+"px";el.style.top=y-el.offsetHeight+"px";nspeed=el.offsetHeight/frames;}if(pos==3){x-=el.offsetWidth;el.style.left=x+el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;if(x+gx<0){x+=el.offsetWidth;pos=1;x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;}}mx[mal]=x;my[mal]=y;if(NS7||IE5||frames==0){el.style.left=x+"px";el.style.top=y+"px";}if(!IE5)clipMenu(mal,el);el.style.visibility="visible";ma[mal]=id;mpos[mal]=pos;if(NS7){var p=event.target;if(p.nodeName!="A"&&p.parentNode.nodeName=="A")p=p.parentNode;mc[mal]=p.style;if(!NS6&&mal>0){mc[mal].backgroundColor="#"+bc.toString(16);mc[mal].color="#"+fc.toString(16);}el.onmouseout=tidyMenu;}else{mc[mal]=event.srcElement.style;if(mal>0){mc[mal].backgroundColor=bc;mc[mal].color=fc;}}mal++;}if(ifr&&el&&frames==0&&(typeof(tr)=="undefined"||tr=="")){var p=d.getElementById(id+"i");if(p){p.style.top=y+"px";p.style.left=x+"px";p.style.width=el.style.width;p.style.height=el.offsetHeight+"px";p.style.display="block";}else{ifr="<iframe id=\""+id+"i\" style=\"position:absolute;left:"+x+"px;width:"+el.style.width+";height:"+el.offsetHeight+"px;top:"+y+"px;z-index:998;display:block;\" scrolling=\"no\" frameborder=\"0\"></iframe>";el.insertAdjacentHTML('beforeBegin',ifr);}}}function overMenu(x,y){x-=gx;y-=gy;for(i=mal-1;i>=0;i--){var el=d.getElementById(ma[i]);if(el.offsetLeft+el.offsetWidth>x&&el.offsetLeft<=x&&el.offsetTop+el.offsetHeight>y&&el.offsetTop<=y){return ma[i];}}return "";}function tidyMenu(e){if(NS4)return;if(NS7){t=overMenu(e.pageX,e.pageY);if(t!=""&&(e.target.firstChild==e.relatedTarget||e.target==e.relatedTarget.firstChild))return;}else{var x=event.clientX-d.body.clientLeft;var y=event.clientY-d.body.clientTop;if(!quirk){x+=d.documentElement.scrollLeft-2;y+=d.documentElement.scrollTop-2;}else{x+=d.body.scrollLeft;y+=d.body.scrollTop;}t=overMenu(x,y);}om=0;for(i=0;i<mal;i++){var mail=ma[i].length;if(mail>t.length||t.substring(0,mail)!=ma[i]){var el=d.getElementById(ma[i]);el.style.visibility="hidden";mc[i].backgroundColor="";mc[i].color="";if(ifr){var p=d.getElementById(ma[i]+"i");if(p)p.style.display="none";}}else{ma[om]=ma[i];mx[om]=mx[i];my[om]=my[i];om++;}}mal=om;if(mal==0&&psrc)psrc.src=pname;}function animate(){for(i=0;i<mal;i++){var el=d.getElementById(ma[i]);if(el.style.visibility=="visible"){if(el.offsetLeft<mx[i])el.style.left=Math.min(el.offsetLeft+nspeed,mx[i])+"px";if(el.offsetLeft>mx[i])el.style.left=Math.max(el.offsetLeft-nspeed,mx[i])+"px";if(el.offsetTop<my[i])el.style.top=Math.min(el.offsetTop+nspeed,my[i])+"px";clipMenu(i,el);}}if(mal!=0||frames!=0)setTimeout("animate()",50);}function clipMenu(i,el){if(el.offsetLeft>mx[i])el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+(el.offsetWidth+(mx[i]-el.offsetLeft))+"px "+el.offsetHeight+"px "+0+"px)";else el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+el.offsetWidth+"px "+el.offsetHeight+"px "+(mx[i]-el.offsetLeft)+"px)";}
*/

Dík za rady
Přílohy
harnach.JPG
harnach.JPG (4.36 KiB) Zobrazeno 418 x
HP EliteBook 840 G1, SSD Transcend MTS400, M.2 - 256GB

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: javascriptové menu

Příspěvekod CZechBoY » 16 lis 2009 15:39

http://www.tvorba-webu.cz/javascript/menu.php tady máš něco o javascriptovém menu.
Kdyby si radši mohl poslat stránku bylo by to lepší. Tenhle kód se nedá ani přečíst skoro :)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Vikousik
Level 2.5
Level 2.5
Příspěvky: 281
Registrován: leden 08
Pohlaví: Muž
Stav:
Offline

Re: javascriptové menu

Příspěvekod Vikousik » 16 lis 2009 15:52

Tu stránku sem si taky vygooglil, ale tam je to jen tak napsaný jako že to máš opsat, ale né o tom co co vlastně znamená. Jinak ty stránky o které se jedná sou harnach.cz
HP EliteBook 840 G1, SSD Transcend MTS400, M.2 - 256GB

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: javascriptové menu

Příspěvekod CZechBoY » 16 lis 2009 16:01

Ten skript teda vypadá jak vypadá, no nevadí, mrknu na to.

Jo dělá se to přes nějaký submenu

Kód: Vybrat vše

startSubmenu("viktor_harnach_menu_b8","viktor_harnach_menu_menu",120);
mainMenuItem("viktor_harnach_menu_b8_1","Univerzita Karlova",0,0,"javascript:;","","",1,1,"viktor_harnach_menu_l");
endSubmenu("viktor_harnach_menu_b8");


Takže tam zkus za to vložit:

Kód: Vybrat vše

startSubmenu("viktor_harnach_menu_b8","viktor_harnach_menu_menu",120);
mainMenuItem("viktor_harnach_menu_b8_2","Zkouška",0,0,"javascript:;","","",1,1,"viktor_harnach_menu_l");
endSubmenu("viktor_harnach_menu_b8");
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Vikousik
Level 2.5
Level 2.5
Příspěvky: 281
Registrován: leden 08
Pohlaví: Muž
Stav:
Offline

Re: javascriptové menu

Příspěvekod Vikousik » 16 lis 2009 16:13

Když sem to tam hodil, tak mi to tam tu zkoušku přidá, ale je u ní ta šipka doprava, a když na to máčknu tak nic (to chápu ). Jak tam na to hodim odkaz a odstranim šipku?
HP EliteBook 840 G1, SSD Transcend MTS400, M.2 - 256GB

Uživatelský avatar
Vikousik
Level 2.5
Level 2.5
Příspěvky: 281
Registrován: leden 08
Pohlaví: Muž
Stav:
Offline

Re: javascriptové menu

Příspěvekod Vikousik » 17 lis 2009 16:27

Neexistuje něco jako wysiwygovej editor javascriptu?
HP EliteBook 840 G1, SSD Transcend MTS400, M.2 - 256GB

Uživatelský avatar
Myloš
Master Level 8.5
Master Level 8.5
Příspěvky: 6990
Registrován: duben 06
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Re: javascriptové menu

Příspěvekod Myloš » 17 lis 2009 16:34

To si nedovedu představit.
U HTML to dává smysl, protože tam jde o text a vzhled, ale u javascriptu?
..
Každopádně dělat menu javascriptem je po mém soudu dneska většinou zbytečné používání kanonu na vrabce.
Na tvorbu menu dnes většinou dostačuje CSS a mraky návodů najdeš na http://interval.cz/hotova-reseni/pro-css/
  • Než položíte dotaz, nejprve se ptejte strejdy Gůůgla.
  • Výňatek z pravidel fóra PC-HELP:
    • Název tématu zvolte takový, aby co nejvýstižněji charakterizoval obsah tématu.
    • Nesnažte se řešit jiný problém (i když podobný) v jednom tématu. Raději založte nové téma.
  • Mýliti se je Myloš. ;-)

Uživatelský avatar
Vikousik
Level 2.5
Level 2.5
Příspěvky: 281
Registrován: leden 08
Pohlaví: Muž
Stav:
Offline

Re: javascriptové menu

Příspěvekod Vikousik » 17 lis 2009 17:15

Ok, dík,
našel sem si co bych si asi pak doupravil,
(jinak je to toto: http://interval.cz/clanky/horizontalni-dvouurovnove-obrazkove-menu/)
HP EliteBook 840 G1, SSD Transcend MTS400, M.2 - 256GB


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti