I usually use a character count times an average width. For instance, I use 6.5 as my multiplier for 10pt verdana. Capital 'W' is 11 pixels, I believe, lowercase 'l' is 2 pixels, and the rest are somewhere in between. Really simple, no cost, and quite effective:
<script> multiplier = 6.5; buffer = 20; // extra space around the items window.mymenu = new Menu("title, null, null, "verdana,sans-serif"); <cfset maxlen = 0 /> <cfloop query="items"> <cfset maxlen = max(maxlen, len(name)) /> mymenu.addMenuItem("#name#", "location='#url#'"); </cfloop> mymenu.menuWidth = Math.round(#maxlen# * multiplier) + buffer; </script> I haven't used the menus from DWMX, i use an old version from fireworks, but that shouldn't matter. --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com > -----Original Message----- > From: Shawn Grover [mailto:[EMAIL PROTECTED] > Sent: Thursday, May 29, 2003 12:24 PM > To: CF-Talk > Subject: RE: Making the MX Popup Menu Javascript Dynamic > > > The COOLjsMenu and COOLjsTree look pretty good. Decent prices too. > > http://javascript.cooldev.com/scripts/coolmenu/ > > > -----Original Message----- > From: Jamie Jackson [mailto:[EMAIL PROTECTED] > Sent: Thursday, May 29, 2003 1:14 PM > To: CF-Talk > Subject: Making the MX Popup Menu Javascript Dynamic > > > I hacked up the popup javascript generated by DreamWeaver MX, so I > could make the popups data-driven (see below, if interested). I only > have one problem, though: mm_menu.js doesn't dynamically size the > popup "cells," so if your data is longer than your static width, it's > ugly. > > Apparently DreamWeaver MX (and, I guess, Fireworks MX) itself > calculates and sums glyph widths, according to font and size (in other > words, it takes into account the width difference of an Arial "i" and > "M"). It seems like this could get hairy, if I were to try to > calculate these myself. > > Does anybody know how to modify mm_menu.js to dynamically size these > popup "cells," OR know of any comparable, free DHTML popup app that > does dynamic sizing? (I used to use HierMenus, but they want $1500+ > for it now -- what a GOUGE.) > > Thanks, > Jamie > > <cfoutput> > <script language="JavaScript"> > <!-- > function mmLoadMenus() { > if (window.mm_menu_1) return; > </cfoutput> > <cfset jsLoopIdx = 0> > <cfoutput query="getHeadlines" group="section_name"> > <cfset jsLoopIdx = jsLoopIdx + 1> > window.mm_menu_#jsLoopIdx# = new Menu("root",500,18,"Arial, > Helvetica, > sans-serif",12,"navy","purple","##DDDDDD","##FFCCCC","left","middl > e",3,0,100 > 0,-5,7,true,true,true,0,true,true); > mm_menu_#jsLoopIdx#.addMenuItem("#section_name#","location='articl > es.cfm?sec > tion_id=#section_id#&issue_id=#request.issue_id#'"); > <cfoutput> > mm_menu_#jsLoopIdx#.addMenuItem("#headline#","location='articles.c > fm?article > _id=#article_id#'"); > </cfoutput> > mm_menu_#jsLoopIdx#.hideOnMouseOut=true; > mm_menu_#jsLoopIdx#.bgColor='##555555'; > mm_menu_#jsLoopIdx#.menuBorder=1; > mm_menu_#jsLoopIdx#.menuLiteBgColor='##FFFFFF'; > mm_menu_#jsLoopIdx#.menuBorderBgColor='##777777'; > </cfoutput> > > <cfoutput>mm_menu_#jsLoopIdx#.writeMenus();</cfoutput> > } // mmLoadMenus() > //--> > </script> > <script language="JavaScript" src="mm_menu.js"></script> > <script language="JavaScript1.2">mmLoadMenus();</script> > > <cfset jsLoopIdx = 0> > <cfoutput query="getHeadlines" group="section_name"> > <cfset jsLoopIdx = jsLoopIdx + 1> > <img src="images/sec_btn_top.gif" width=151 height=4 alt="" > border="0"><br> > <a href="javascript:;" > onMouseOver="MM_showMenu(window.mm_menu_#jsLoopIdx#,140,3,null,'bu > tton#jsLoo > pIdx#')" > onMouseOut="MM_startTimeout();"><img #button_image# > name="button#jsLoopIdx#" alt="#section_name#" border=0></a><br> > <img src="images/sec_btn_bot.gif" width=151 height=3 alt="" > border=0><br> > <cfoutput> > </cfoutput> > </cfoutput> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Host with the leader in ColdFusion hosting. Voted #1 ColdFusion host by CF Developers. Offering shared and dedicated hosting options. www.cfxhosting.com/default.cfm?redirect=10481 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4