House of Fusion
Search over 2,500 ColdFusion resources here
  
Home of the ColdFusion Community

Mailing Lists
Home / Groups / ColdFusion Talk (CF-Talk)

Making the MX Popup Menu Javascript Dynamic

Author:
Jamie Jackson
05/30/2003 11:34 AM

Thanks, can you use existing nav images to spawn the popup submenus? Thanks, Jamie On Thu, 29 May 2003 13:48:52 -0700, in cf-talk you wrote: >Your HTML/JS guy is WRONG. > >First I'd didch this MX JS script your using and grab CoolMenus from >www.DHTMLCentral.com > >It works back to IE 4+ and Netscape 4+.  It also works OVER select boxes and >other form elements (instead of being hidden behind like you sound like >you're experiencing). > >The code is excellent and I've been using it for dynamic menuing for over >ayear with NO problems. > >HTH > >Cheers > >Bryan Stevenson B.Comm. >VP & Director of E-Commerce Development >Electric Edge Systems Group Inc. >t. 250.920.8830 >e. bryan@electricedgesystems.com > >--------------------------------------------------------- >Macromedia Associate Partner >www.macromedia.com >--------------------------------------------------------- >Vancouver Island ColdFusion Users Group >Founder & Director >www.cfug-vancouverisland.com >> Does anyone know how to make to a menu like those work over a >> <select> element in IE5/win so that the select isn't visible thru' the >menu >> div ?? >> >> My HTML/JS guy says it can't be done >> >> WG >> >> 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.) >> bboisvert@audiencecentral.com >> voice : 360.756.8080 x12 >> fax   : 360.647.5351 >> >> www.audiencecentral.com >> >> > The COOLjsMenu and COOLjsTree look pretty good. Decent prices too. >> > >> > http://javascript.cooldev.com/scripts/coolmenu/ >> > >> > >> > 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> >> > >> > >> >> >


Search cf-talk

May 21, 2013

<<   <   Today   >   >>
Su Mo Tu We Th Fr Sa
       1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31   

Designer, Developer and mobile workflow conference