|
-
Jul 12th, 2001, 06:11 AM
#1
Thread Starter
Fanatic Member
JavaScript Menu frame problem
I have a problem with a JavaScript menu that I am using for a site I am building. The problem is that I am using a JavaScript menu system that will open up the menu items in the main frame. Please look at the code supplied. Any help that can be given would be grately appreciated. 
Find below the text cut and pasted into the post (as I am having trouble attaching the file to this thread! )
Main
<html>
<head>
<title>Welcome to MMR International</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
#divUpControl{position:absolute; width:320; left:10; top:10; z-index:1; text-align: right}
#divDownControl{position:absolute; width:320; left:10; top:270; z-index:1; text-align: right}
#divContainer{position:absolute; width:320; height:240; overflow:hidden; top:30; left:10; clip:rect(0,320,240,0); visibility:hidden}
#divContent{position:absolute; top:0; left:0}
</style>
<script language="JavaScript">// begin absolutely positioned scrollable area object scripts
// Extension developed by David G. Miles
// Original Scrollable Area code developed by Thomas Brattli
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()
var speed=50
var loop, timer
function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
this.up=MoveAreaUp;this.down=MoveAreaDown;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
eval(this.obj + "=this")
return this
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.top=this.y
}
function MoveAreaDown(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".down("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".up("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.down(speed)
else objScroller.up(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContent','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}
// end absolutely positioned scrollable area object scripts
</script>
<script language="JavaScript" src="JavaScripts/menu.js"></script>
<script language="JavaScript" src="JavaScripts/menuitems.js"></script>
</head>
<body bgcolor="#FFFFFF" text="#000000" onLoad="InitialiseScrollableArea()">
<!-- begin absolutely positioned scrollable area object-->
<div id="divUpControl" style="width: 741px; height: 19px; left: 11px; top: 31px">
<a href="javascript:;" onMouseOver="PerformScroll(-7)" onMouseOut="CeaseScroll()">[scroll
up]</a> </div>
<div id="divDownControl" style="width: 741px; height: 19px; left: 10px; top: 490px">
<a href="javascript:;" onMouseOver="PerformScroll(7)" onMouseOut="CeaseScroll()">[scroll
down]</a> </div>
<div id="divContainer" style="width: 742px; height: 439px; top: 51px; visibility: visible; clip: rect(0 700 400 0)">
<div id="divContent" style="overflow: auto; left: 0px; top: 0px">
<p align="center"><b>Welcome to the MMR International Website</b></p>
<p> This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
<p>This Area Scrolls</p>
</div>
</div>
<!-- end absolutely positioned scrollable area object -->
</body>
<script language="JavaScript" src="JavaScripts/loadmenu.js"></script>
</html>
Nav
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
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_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_findObj(n, d) { //v4.0
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 && document.getElementById) x=document.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];}
}
//-->
</script>
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
function showMenuInFrame(menuLabel, frameObject, x, y) {
if (!frameObject) {
return;
}
if (window.pageXOffset > -1) {
x = x || frameObject.pageXOffset + 5;
y = y || frameObject.pageYOffset + window.pageY;
} else if (document.body) {
x = x || frameObject.document.body.scrollLeft + 5;
y = y || frameObject.document.body.scrollTop + window.pageY;
}
if (frameObject.showMenu) {
frameObject.showMenu (menuLabel, x, y);
}
}
function mouseTracker(e) {
e = e || window.Event || window.event;
window.pageX = e.pageX || e.clientX;
window.pageY = e.pageY || e.clientY;
}
if (window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP);
window.onmousemove = mouseTracker;
} else {
document.onmousemove = mouseTracker;
}
//-->
</SCRIPT>
</head>
<body bgcolor="#FFFFFF" text="#000000" onLoad="MM_preloadImages('../buttons/company2.gif')">
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','../buttons/company2.gif',1)" onMouseOver="window.showMenuInFrame('menuIndex', top.mainFrameFrame);"><img name="Image1" border="0" src="../buttons/company1.gif" width="170" height="38"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','../buttons/people2.gif',1)"><img name="Image2" border="0" src="../buttons/people1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','../buttons/services2.gif',1)"><img name="Image3" border="0" src="../buttons/services1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image4','','../buttons/newsletter2.gif',1)"><img name="Image4" border="0" src="../buttons/newsletter1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','../buttons/mission2.gif',1)"><img name="Image5" border="0" src="../buttons/mission1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','../buttons/america2.gif',1)"><img name="Image6" border="0" src="../buttons/america1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image7','','../buttons/request2.gif',1)"><img name="Image7" border="0" src="../buttons/request1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image8','','../buttons/career2.gif',1)"><img name="Image8" border="0" src="../buttons/career1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image9','','../buttons/contact2.gif',1)"><img name="Image9" border="0" src="../buttons/contact1.gif" width="170" height="38"></a>
<a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image10','','../buttons/feedback2.gif',1)"><img name="Image10" border="0" src="../buttons/feedback1.gif" width="170" height="38"></a>
</body>
</html>
-
Jul 12th, 2001, 10:44 AM
#2
Frenzied Member
what is exactly the error,
or what cause the error,
it's pretty long to look,
so give us a hint!!
-
Jul 12th, 2001, 11:17 AM
#3
Thread Starter
Fanatic Member
The error is that it wont seem to load the menu into the main frame from the nav frame... No error comes up it just doesnt seem to accept it! I have not a clue why... I am thinking that I need to add the javascripts for the menu into both pages.... Its just confusing...
-
Jul 12th, 2001, 12:13 PM
#4
well it would be my guess that you have this
<a href="#"
and no target to goto. I think that that # sign loads the same page. could you insert the target page like so
target="main_page"
that is my guess, I maybe wrong
-
Jul 12th, 2001, 01:20 PM
#5
Thread Starter
Fanatic Member
Cheers for your help scoutt I will give that a try.
-
Jul 17th, 2001, 05:17 AM
#6
Thread Starter
Fanatic Member
Its all working fine now!
-
Jul 17th, 2001, 09:52 AM
#7
so that was it huh? cool glad to help.
-
Jul 17th, 2001, 10:30 AM
#8
Thread Starter
Fanatic Member
Well it was partially help from what you said matey, also I found that the .js file was corrupted! Cheers though!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|