I had thought about that, but I think I got scared off, thinking that there may come a time when there's an inordinate number of wide characters in the string. I may decide to bite the bullet and go your route, though, considering I'm 99% there, anyway.
Thanks, Jamie On Thu, 29 May 2003 12:51:33 -0700, in cf-talk you wrote: >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