Autor Zpráva
Taťána
Profil *
Našla jsem si java skript pro menu, které se objeví po kliknutí pravého myšítka. Všechno je prima, ale když to dám tam, kde to chci mít, nějak se to nemá rádo s pozicováním CSS a dělá to psí kusy. Nevíte někdo v čem je problém?

Taky se mi nedaří ten skript dostat do externího souboru. Když ho tam uložím a odkážu se na to, nic to neudělá. Ticho po pěšině.

A ještě jedna spíše filozofická otázečka. Může menu v java skriptu způsobit nějakému návštěvníkovi problémy? Třeba že by se mu nezobrazilo nebo nefungovalo tak, jak má.

Díky
Taťána
roberta
Profil
zišiel by sa na ukážku ten kód, čo nefunguje. bez toho ti asi ťažko niekto odpovie

a k tej filozofickej otázke: keď si používateľ vypne javascript vo svojom prehliadači, tak to tvoje menu uvidí iba ak v zdrojovom kóde stránky, ale určite nie v prehliadači :(
ale už vymysleli aj menu bez javascriptu (HTML+CSS) skús sa pozrieť na http://css.interval.cz/ do sekcie menu, snáď tam niečo vhodné nájdeš :)
peta
Profil *
Taťána
1. zdrojovy kod
(pravdepodobne nemas definovane position:relative)

2. zdrojovy kod
(pravd. neumis pouzivat document.write)

3. ano, pokud S z nejakeho dubvodu nebude fungovat, mela bys mit nejaky nahradni odkaz na menu. Tento pripad nastava v 5-10% , nekde to ma Juhu rozepsane podrobne.
Treba docela problem muzou mit nevidici s brailovou 6-ti bodovou cteckou na prsty, protoze programator zrejme nepocital s generovanim stranky a zjistuje odkazy z toho, co ma v html.
peta
Profil *
Taťána
A pozor, tak jsem pomotal pate pres devate...
JS nefunguje v nekterych prohlizecich, coz je tak 5-10% , ale s temi nevidomymi se ten pocet muze zvysit na 2x tolik
Taťána
Profil *
Když tohle někam normálně vložím, tak to funguje dobře, ale jakmile to potká <div> otevírá se menu na úplně jiném místě než je kurzor.

<STYLE type=text/css>.link {
PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 10pt; PADDING-BOTTOM: 5px; CURSOR: default; COLOR: white; PADDING-TOP: 5px; FONT-FAMILY: sans-serif; TEXT-DECORATION: none
}
.normtext {
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: 10pt; PADDING-BOTTOM: 3px; COLOR: black; PADDING-TOP: 3px; FONT-FAMILY: sans-serif
}
#conmenu {
BORDER-RIGHT: 2px outset; PADDING-RIGHT: 2px; BORDER-TOP: 2px outset; PADDING-LEFT: 2px; FONT-WEIGHT: normal; FONT-SIZE: 10pt; LEFT: 0px; VISIBILITY: hidden; PADDING-BOTTOM: 0px; BORDER-LEFT: 2px outset; WIDTH: 160px; CURSOR: default; COLOR: navy; PADDING-TOP: 1px; BORDER-BOTTOM: 2px outset; FONT-FAMILY: sans-serif; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: white; layer-background-color: navy
}
#conshadow {
LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: black; layer-background-color: black
}
</STYLE>


<DIV
style="DISPLAY: block! important; VISIBILITY: visible! important; WIDTH: 30px; HEIGHT: 30px"></DIV></NOSCRIPT><!-- /IClista -->
<SCRIPT language=javascript>
var menuNormColor="black";
var menuHoverColor="#CCCCFF";
var menu=Array();
menu[0]=['<center>- JavaScript -</center>'];
menu[1]=['Ahoj!', 'javascript:alert(\'Taky tě zdravím!\')', ''];
menu[2]=['Napište mi!', 'mailto:hcportos@quick.cz', ''];
menu[3]=['Vytisknout', 'javascript:window.print();', ''];
menu[4]=['Zpět na Menu','javascript:history.go(1)', ''];
menu[5]=['<center>- Odkazy -</center>'];
menu[6]=['home', 'http://www.aliencentrum.mysteria.cz', '_blank'];
menu[7]=['jiné', 'http://???????????????', '_blank'];
menu[8]=['dalsi', 'http://www.??????????', '_blank'];
menu[9]=['Zmáčkni pravé tlačítko myši a menu zmizí'];
var disableNS4=false;
ns4 = (navigator.appName.indexOf("Netscape")>=0 && document.layers)? true : false;
ie4 = (document.all && !document.getElementById)? true : false;
ie5 = (document.all && document.getElementById)? true : false;
ns6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
w3c = (document.getElementById)? true : false;
var mx=0;
var my=0;
var conmenu;
var conshadow;
var windowloaded=false;
var opened=false;

function setc(ref,c){
if(ns4)ref.bgColor=c;
else ref.style.backgroundColor=c;
}

var txt='<div id="conshadow">&nbsp;</div>';
txt+='<div id="conmenu">';
for(i=0;i<menu.length;i++){
if(menu[i].length<3){
txt+='<ilayer><div class="normtext">'+menu[i][0]+'</div></ilayer>';
}else{
txt+=(ns4)?'<ilayer width="100%" bgcolor="'+menuNormColor+'"><layer width="100%" onmouseover="setc(this,\''+menuHoverColor+'\')" onmouseout="setc(this,\''+menuNormColor+'\')">':'<div class="link" style="background-color:'+menuNormColor+'" onmouseover="setc(this,\''+menuHoverColor+'\')" onmouseout="setc(this,\''+menuNormColor+'\')">';
txt+='<a href="'+menu[i][1]+'" target="'+menu[i][2]+'" class="link">'+menu[i][0]+'</a>';
txt+=(ns4)?'</layer></ilayer>':'</div>';
}}
txt+='</div>';
document.write(txt);

function ns4trap(evt){
if(evt.which==2||evt.which==3){
showmenu();
return false;
}}

function showmenu(){
if(windowloaded){
if(opened){
if(ns4){
conmenu.visibility="hide";
conshadow.visibility="hide";
conmenu.moveTo(0,0);
conshadow.moveTo(0,0);
}else{
conmenu.style.visibility="hidden";
conshadow.style.visibility="hidden";
conmenu.style.left='0px';
conmenu.style.top='0px';
conshadow.style.left='0px';
conshadow.style.top='0px';
}
opened=false;
}else{
opened=true;
var wh=(ie4||ie5)?document.body.clientHeight:window.innerHeight;
var sx=(ie4||ie5)?document.body.scrollLeft:pageXOffset;
var sy=(ie4||ie5)?document.body.scrollTop:pageYOffset;
if(ns4){
conmenu.moveTo(mx,my);
conshadow.moveTo(mx+8,my+8);
conmenu.visibility="show";
conshadow.visibility="show";
}else{
conmenu.style.left=mx+((ie4||ie5)?sx:0)+'px';
conmenu.style.top=my+((ie4||ie5)?sy:0)+'px';
conshadow.style.left=mx+10+((ie4||ie5)?sx:0)+'px';
conshadow.style.top=my+10+((ie4||ie5)?sy:0)+'px';
setTimeout('conmenu.style.visibility="visible"; conshadow.style.visibility="visible"; ',50);
}}}}

if(ns4&&!disableNS4){
document.captureEvents(Event.MOUSEDOWN|Event.MOUSEMOVE);
document.onmousedown=ns4trap;
}else{
document.oncontextmenu=function(){
showmenu();
return false;
}}

document.onmousemove=function(evt){
mx=(ie4||ie5)?event.clientX:evt.pageX;
my=(ie4||ie5)?event.clientY:evt.pageY;
}

function getidheight(id){
if(ns4)return id.clip.height;
if(ie4||ie5)return id.clientHeight;
if(w3c)return id.offsetHeight;
}

function getidwidth(id){
if(ns4)return id.clip.right-id.clip.left;
if(ie4)return id.clientWidth;
if(w3c)return id.offsetWidth;
}

window.onload=function(){
windowloaded=true;
conmenu=(ns4)?document.layers['conmenu']:(ie4)?document.all['conmenu'] :document.getElementById('conmenu');
conshadow=(ns4)?document.layers['conshadow']:(ie4)?document.all['consh adow']:document.getElementById('conshadow');
if(ns4){
conshadow.clip.height=conmenu.document.height;
conshadow.clip.width=conmenu.document.width;
conmenu.clip.bottom=getidheight(conshadow);
}else{
if(ie4||ie5)conshadow.style.filter="alpha(opacity=50)";
if(ns6||!ie4||!ie5)conshadow.style.MozOpacity=.5;
conshadow.style.height=getidheight(conmenu);
conshadow.style.width=getidwidth(conmenu);
}

}

window.onresize=function(){
if(ns4)setTimeout('history.go(0)',200);

}

</SCRIPT>
peta
Profil *
Taťána
(pravdepodobne nemas definovane position:relative)
A kde mas to position:relative?
kdyz pozicujes je spravne mit v nadrazenem prvku position:relative.
<div style="positon:relative">
<div onmouseover=show()>aaa</div>
<div style="position:absolute">
<a>...</a>
<a>...</a>
<a>...</a>
</div>

Nechces zkusit radeji jine menu?
http://www.volny.cz/peter.mlich/Pr/menuedul.htm
klikni dole na WWW a pak si uloz zdrojovy kod nove stranky
Toto téma je uzamčeno. Odpověď nelze zaslat.

0