Results 1 to 3 of 3

Thread: Javascript Menu Problem

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Jun 2005
    Posts
    169

    Javascript Menu Problem

    Hi,
    I am next to useless at Javascript so please bear with me. I use a program called Xara Webstyle to make my menus (and it's very good too!). It automatically creates the .gif images with changing buttons for mouse over etc. It also writes the javascript for the items to perform whatever actions when pressed i.e. got to a given URL. My problem is that I want it to open up a new Explorer window with no toolbar etc. I can do this with just a normal link using:
    Code:
    <a href="javascript:;" onClick="window.open('http://www.mess.com/default.aspx','Cost_App','toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,width=500,height=500,left=5,top=5')">Launch System</a>
    but how do I do it in the javascript file written by Xara? The following text is what is automatically written for four buttons (sorry about the difficult reading)

    Code:
    //©Xara Ltd
    var clicked="";var gtype=".gif";var selstate="_over";if (typeof(loc)=="undefined" || loc==""){var loc="";if (document.body&&document.body.innerHTML){var tt=document.body.innerHTML;var ml=tt.match(/["']([^'"]*)rhmenu.js["']/i);if(ml && ml.length > 1) loc=ml[1];}}document.write("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>");tr(false);writeButton("","http://www.testUrl.com","rhmenu_b1",183,40,"Login","",0);writeButton("","http://www.testAnotherUrl.com/join.aspx","rhmenu_b2",183,40,"Join","",0);writeButton("","http://www.andANotherUrl.com","rhmenu_b3",183,40,"Create","",0);writeButton("","http://www.mess.com","rhmenu_b4",183,40,"Mess","_blank",0);tr(true);document.write("</tr></table>");loc="";function tr(b){if (b) document.write("<tr>");else document.write("</tr>");}function turn_over(name) {if (document.images != null && clicked != name) {document[name].src = document[name+"_over"].src;}}function turn_off(name) {if (document.images != null && clicked != name) {document[name].src = document[name+"_off"].src;}}function reg(gname,name){if (document.images){document[name+"_off"] = new Image();document[name+"_off"].src = loc+gname+gtype;document[name+"_over"] = new Image();document[name+"_over"].src = loc+gname+"_over"+gtype;}}function evs(name){ return " onmouseover=\"turn_over('"+ name + "')\" onmouseout=\"turn_off('"+ name + "')\""}function writeButton(urld,url,name,w,h,alt,target,hsp){gname=name;while(typeof(document[name])!="undefined")name+="x";reg(gname,name);tr(true);document.write("<td>");if(alt!="")alt=" alt=\""+alt+"\"";if(target!="")target=" target=\""+target+"\"";if(w>0)w=" width=\""+w+"\"";else w="";if(h>0)h=" height=\""+h+"\"";else h="";var l=clicked!=""||!isCurrentFile(url);if(url!="")url=" href=\""+urld+url+"\"";if(l){if(typeof(clx)!="undefined"){target="";url=" href=\"?"+clx+"\"";alt=" alt=\"Click to edit\"";}document.write("<a "+url+evs(name)+target+">");}else gname+=selstate;gname+=gtype;if(hsp==-1)hsp=" align=\"right\"";else if(hsp>0)hsp=" hspace=\""+hsp+"\"";else hsp="";document.write("<img src=\""+loc+gname+"\" name=\""+name+"\""+w+h+alt+hsp+" border=\"0\" />");if(l)document.write("</a>");document.write("</td>");tr(false);}function syncFile(f,nf){var matches='home.html*index.html*welcome.html*default.asp';var p=f.lastIndexOf('/');var sf=f;if(p>=0)sf=f.substr(p+1,f.length-1);if(matches.indexOf(sf)==-1)return "";return sf;}function isCurrentFile(str){var p=str.lastIndexOf(':');if(p>0)str=str.substr(p+1,str.length-1);str=escape(str);str=str.toLowerCase();while(str.length>3&&str.substring(0,3)=="../")str=str.substr(3,str.length-1);var fstr=str.indexOf(".htm");if(fstr==-1)fstr=str.indexOf(".asp");if(fstr==-1)fstr=str.indexOf(".php");if(fstr==-1)fstr=str.indexOf(".jsp");if(fstr==-1)fstr=str.indexOf(".txt");if(fstr<1&&str.charAt(str.length-1)!='/')str+="/";var current=document.location.href.toLowerCase();p=current.lastIndexOf('?');if(p>0)current=current.substr(0,p);var fcurrent=current.indexOf(".htm");if(fcurrent==-1)fcurrent=current.indexOf(".asp");if(fcurrent==-1)fcurrent=current.indexOf(".php");if(fcurrent==-1)fcurrent=current.indexOf(".jsp");if(fcurrent==-1)fcurrent=current.indexOf(".txt");if(fcurrent<1&&current.charAt(current.length-1)!='/')current+="/";if(fstr!=-1&&fcurrent==-1)current+=syncFile(str,current);if(fstr==-1&&fcurrent!=-1)str+=syncFile(current,str);var currsize=current.length;var strsize=str.length;while(strsize>=0&&currsize>=0){if(current.charAt(currsize)!=str.charAt(strsize))return false;currsize=currsize-1;strsize=strsize-1;}return true;}
    I tried to add:
    Code:
    "javascript:;" onClick="window.open('http://www.aldolex.ie/Cost_Report/Select_Project.aspx','Cost_App','toolbar=0,location=0,directories=0,status=1,scrollbars=1,resizable=1,width=500,height=500,left=5,top=5')"
    as the URL but it didn't work. I noticed that the function writeButton seems to be writing the script in the document and it adds urld and url arguments together and does lots of other stuff that I don't understand.
    ANy help greatly appreciated.

  2. #2
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594

    Re: Javascript Menu Problem

    You don't really expect us to read that, do you? How about you format it properly first? You might even find the error yourself.

    BTW, I wouldn't call any program that generates code like this "very good".
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  3. #3
    I'm about to be a PowerPoster!
    Join Date
    Jan 2005
    Location
    Everywhere
    Posts
    13,647

    Re: Javascript Menu Problem

    Have you considered a pure CSS menu instead? It's generally best to try to avoid any client-side scripting if you can. As a bonus, if I'm not mistaken, I think they also work in IE if you do them properly.

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