Results 1 to 8 of 8

Thread: JavaScript Menu frame problem

  1. #1

    Thread Starter
    Fanatic Member chrismitchell's Avatar
    Join Date
    Jan 2001
    Location
    With Hobbes in New Zealand
    Posts
    568

    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>

  2. #2
    Frenzied Member sebs's Avatar
    Join Date
    Sep 2000
    Location
    Aylmer,Qc
    Posts
    1,606
    what is exactly the error,
    or what cause the error,


    it's pretty long to look,

    so give us a hint!!

  3. #3

    Thread Starter
    Fanatic Member chrismitchell's Avatar
    Join Date
    Jan 2001
    Location
    With Hobbes in New Zealand
    Posts
    568
    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...

  4. #4
    scoutt
    Guest
    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

  5. #5

    Thread Starter
    Fanatic Member chrismitchell's Avatar
    Join Date
    Jan 2001
    Location
    With Hobbes in New Zealand
    Posts
    568
    Cheers for your help scoutt I will give that a try.

  6. #6

    Thread Starter
    Fanatic Member chrismitchell's Avatar
    Join Date
    Jan 2001
    Location
    With Hobbes in New Zealand
    Posts
    568
    Its all working fine now!

  7. #7
    scoutt
    Guest
    so that was it huh? cool glad to help.

  8. #8

    Thread Starter
    Fanatic Member chrismitchell's Avatar
    Join Date
    Jan 2001
    Location
    With Hobbes in New Zealand
    Posts
    568
    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
  •  



Click Here to Expand Forum to Full Width