Autor Zpráva
mates
Profil *
Zdravím, chtěl bych požádat o radu. Vytvořil jsem si rozjížděcí menu a potřeboval bych po kliknutí na odkaz aby se mi zobrazovaná stránka ukázala v novém okně nebo v určitém okně. Byl bych rád kdyby jste mi odpověděli!
Můj mail-mates.machac@seznam.cz (byl bych také kdyby jste mi to poslali na mail)
Tady je zdrojový kód:

<html>
<head>
<title>Java Script ze stránky - www.jaknaweb.com</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<style type="text/css">
.lowText { text-align: left;text-decoration: none; color: #006600; font: 12px Verdana; text-align: left;}
.highText { text-align: left; text-decoration: none; color: #006600; font: 12px Verdana; text-align: left;}
.mainButtons { text-align: left;
text-decoration: none;
color: #006600;
font: 12px verdana;
font-weight: bold;
}
.itemBorder { border: none; }
.itemBorderBlank { border: 1px solid #C7DDC6; }
.itemBorderButton { border: 1px solid #000000; }
</style>
</head>

<body>
<script type="text/javascript">
var isDOM=document.getElementById?1:0;
var isIE=document.all?1:0;
var isNS4=navigator.appName=='Netscape'&&!isDOM?1:0;
var isIE4=isIE&&!isDOM?1:0;
var isOp=window.opera?1:0;
var isDyn=isDOM||isIE||isNS4;

function getRef(id, par)
{
par=!par?document:(par.navigator?par.document:par);
return (isIE ? par.all[id] :
(isDOM ? (par.getElementById?par:par.ownerDocument).getElementById(id) :
(isNS4 ? par.layers[id] : null)));
}

function getSty(id, par)
{
var r=getRef(id, par);
return r?(isNS4?r:r.style):null;
}

if (!window.LayerObj) var LayerObj = new Function('id', 'par',
'this.ref=getRef(id, par); this.sty=getSty(id, par); return this');
function getLyr(id, par) { return new LayerObj(id, par) }

function LyrFn(fn, fc)
{
LayerObj.prototype[fn] = new Function('var a=arguments,p=a[0],px=isNS4||isOp?0:"px"; ' +
'with (this) { '+fc+' }');
}
LyrFn('x','if (!isNaN(p)) sty.left=p+px; else return parseInt(sty.left)');
LyrFn('y','if (!isNaN(p)) sty.top=p+px; else return parseInt(sty.top)');
LyrFn('vis','sty.visibility=p');
LyrFn('bgColor','if (isNS4) sty.bgColor=p?p:null; ' +
'else sty.background=p?p:"transparent"');
LyrFn('bgImage','if (isNS4) sty.background.src=p?p:null; ' +
'else sty.background=p?"url("+p+")":"transparent"');
LyrFn('clip','if (isNS4) with(sty.clip){left=a[0];top=a[1];right=a[2];bottom=a[3]} ' +
'else sty.clip="rect("+a[1]+"px "+a[2]+"px "+a[3]+"px "+a[0]+"px)" ');
LyrFn('write','if (isNS4) with (ref.document){write(p);close()} else ref.innerHTML=p');
LyrFn('alpha','var f=ref.filters,d=(p==null); if (f) {' +
'if (!d&&sty.filter.indexOf("alpha")==-1) sty.filter+=" alpha(opacity="+p+")"; ' +
'else if (f.length&&f.alpha) with(f.alpha){if(d)enabled=false;else{opacity=p;enabled=true}} }' +
'else if (isDOM) sty.MozOpacity=d?"":p+"%"');

function setLyr(lVis, docW, par)
{
if (!setLyr.seq) setLyr.seq=0;
if (!docW) docW=0;
var obj = (!par ? (isNS4 ? window : document.body) :
(!isNS4 && par.navigator ? par.document.body : par));
var IA='insertAdjacentHTML', AC='appendChild', newID='_js_layer_'+setLyr.seq++;

if (obj[IA]) obj[IA]('beforeEnd', '<div id="'+newID+'" style="position:absolute"></div>');
else if (obj[AC])
{
var newL=document.createElement('div');
obj[AC](newL); newL.id=newID; newL.style.position='absolute';
}
else if (isNS4)
{
var newL=new Layer(docW, obj);
newID=newL.id;
}

var lObj=getLyr(newID, par);
with (lObj) if (ref) { vis(lVis); x(0); y(0); sty.width=docW+(isNS4?0:'px') }
return lObj;
}

var CSSmode=document.compatMode;
CSSmode=(CSSmode&&CSSmode.indexOf('CSS')!=-1)||isDOM&&!isIE||isOp?1:0;

if (!window.page) var page = { win: window, minW: 0, minH: 0, MS: isIE&&!isOp,
db: CSSmode?'documentElement':'body' }

page.winW=function()
{ with (this) return Math.max(minW, MS?win.document[db].clientWidth:win.innerWidth) }
page.winH=function()
{ with (this) return Math.max(minH, MS?win.document[db].clientHeight:win.innerHeight) }

page.scrollX=function()
{ with (this) return MS?win.document[db].scrollLeft:win.pageXOffset }
page.scrollY=function()
{ with (this) return MS?win.document[db].scrollTop:win.pageYOffset }

function popOver(mN, iN) { with (this)
{
clearTimeout(hideTimer);
overM = mN;
overI = iN;
if (iN && this.onmouseover) onmouseover(mN, iN);

litOld = litNow;
litNow = new Array();
var litM = mN, litI = iN;
while(1)
{
litNow[litM] = litI;
if (litM == 'root') break;
litI = menu[litM][0].parentItem;
litM = menu[litM][0].parentMenu;
}

var same = true;
for (var z in menu) if (litNow[z] != litOld[z]) same = false;
if (same) return;

clearTimeout(showTimer);

for (thisM in menu) with (menu[thisM][0])
{
if (!lyr) continue;

litI = litNow[thisM];
oldI = litOld[thisM];

if (litI && (litI != oldI)) changeCol(thisM, litI, true);

if (oldI && (oldI != litI)) changeCol(thisM, oldI, false);

if (litI && !visNow && (thisM != 'root'))
{
showMenu(thisM);
visNow = true;
}

if (isNaN(litI) && visNow)
{
hideMenu(thisM);
visNow = false;
}
}

nextMenu = '';
if ((menu[mN][iN].type == 'sm:') && !menu[mN][0].subsOnClick)
{
var targ = menu[mN][iN].href, lyrM = menu[mN][0].lyr;

var showStr = 'with ('+myName+') { menu.'+targ+'[0].visNow = true; ' +
'position("'+targ+'"); showMenu("'+targ+'") }';
nextMenu = targ;
if (showDelay) showTimer = setTimeout(showStr, showDelay);
else eval(showStr);
}
}}

function popOut(mN, iN) { with (this)
{
if ((mN != overM) || (iN != overI)) return;

if (this.onmouseout) onmouseout(mN, iN);

var thisI = menu[mN][iN];

if (thisI.href != nextMenu)
{
clearTimeout(showTimer);
nextMenu = '';
}

if (hideDelay)
{
var delay = ((mN == 'root') && (thisI.type != 'sm:')) ? 50 : hideDelay;
hideTimer = setTimeout(myName + '.over("root", 0)', delay);
}

overM = 'root';
overI = 0;
}}

function popClick(mN, iN) { with (this)
{
if (this.onclick) onclick(mN, iN);

var thisI = menu[mN][iN], hideM = true;

with (thisI) switch (type)
{
case 'sm:':
{
if (menu[overM][0].subsOnClick)
{
menu[href][0].visNow = true;
position(href);
showMenu(href);
hideM = false;
}
break;
}
case 'js:': { eval(href); break }
case '': type = 'window';
default: if (href) eval(type + '.location.href = "' + href + '"');
}

if (hideM) over('root', 0);
}}

function popChangeCol(mN, iN, isOver) { with (this.menu[mN][iN])
{
if (!lyr || !lyr.ref) return;

var col = isOver?overCol:outCol;
var bgFn = (col.indexOf('.')==-1) ? 'bgColor' : 'bgImage';
if (isNS4) lyr[bgFn](col);

if ((overClass != outClass) || (outBorder != overBorder)) with (lyr)
{
if (isNS4) write(this.getHTML(mN, iN, isOver));
else
{
ref.className = (isOver ? overBorder : outBorder);
var chl = (isDOM ? ref.childNodes : ref.children)
if (chl) for (var i = 0; i < chl.length; i++) chl[i].className = isOver?overClass:outClass;
}
}

if (!isNS4) lyr[bgFn](col);

if (outAlpha != overAlpha) lyr.alpha(isOver ? overAlpha : outAlpha);
}}

function popPosition(posMN) { with (this)
{
for (mN in menu)
{
if (posMN && (posMN != mN)) continue;
with (menu[mN][0])
{
if (!lyr || !lyr.ref || !visNow) continue;

var pM, pI, newX = eval(offX), newY = eval(offY);
if (mN != 'root')
{
pM = menu[parentMenu];
pI = pM[parentItem].lyr;
if (!pI) continue;
}

var eP = eval(par);
var pW = (eP && eP.navigator ? eP : window);

with (pW.page) var sX=scrollX(), wX=sX+winW(), sY=scrollY(), wY=winH()+sY;
wX = isNaN(wX)||!wX ? 9999 : wX;
wY = isNaN(wY)||!wY ? 9999 : wY;

if (pM && typeof(offX)=='number') newX = Math.max(sX,
Math.min(newX+pM[0].lyr.x()+pI.x(), wX-menuW-(isIE?5:20)));
if (pM && typeof(offY)=='number') newY = Math.max(sY,
Math.min(newY+pM[0].lyr.y()+pI.y(), wY-menuH-(isIE?5:20)));

lyr.x(newX);
lyr.y(newY);
}
}
}}

function addProps(obj, data, names, addNull)
{
for (var i = 0; i < names.length; i++) if(i < data.length || addNull) obj[names[i]] = data[i];
}

function ItemStyle()
{
var names = ['len', 'spacing', 'popInd', 'popPos', 'pad', 'outCol', 'overCol', 'outClass',
'overClass', 'outBorder', 'overBorder', 'outAlpha', 'overAlpha', 'normCursor', 'nullCursor'];
addProps(this, arguments, names, true);
}


function popStartMenu(mName) { with (this)
{
if
stribny
Profil
Odpověď neznám, ale myslím, že ti jen tak někdo neporadí, tím spíš, když ten kód není ani úplný.
peta
Profil *
mates
tenhle kod jiste studovat nebudu, menu se vzdy dela nezavisle na JS, cili pres UL LI (jinak ten kod postrada smysl, kdyz neuvedes cely nebo to nedas jako odkaz na stranku, kde je jen to menu a pak temer nic, protoze vse navic samozrejme nechce nikdo studovat)
http://www.volny.cz/peter.mlich/www.htm#mssub1
- menu editor
Toto téma je uzamčeno. Odpověď nelze zaslat.

0