Slow rendering arrow cursor on menu items with drop downs

Having problems with DHTML Menu? There is usually somebody here who knows the answer.
Post Reply
keeva_one
Advanced
Advanced
Posts: 15
Joined: Sun Apr 04, 2004 2:03 am
Location: Seattle, WA, USA
Contact:

Slow rendering arrow cursor on menu items with drop downs

Post by keeva_one »

For some reason the menu items here

http://www.m-pact.dreamhost.com/

are very very slow to render the arrow cursor on menu items that have drop downs. In fact, every time I roll over a menu item with a drop down the browser (ie6, win2k) calls out to the server to get more info. Once the page is loaded shouldn't all the scripts and data by cached?

I don't see this problem on milonic's site or other sites that use milonic.

Here is the main menu code I'm using:

Code: Select all

 with(milonic=new menuname("Main Menu")){
			style=menuStyle;
			alwaysvisible=1;
			orientation="horizontal";
			position="relative";
			aI("text=home;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=news;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=tour;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=forum;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=join;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=media;showmenu=media;pointer=default;");
			aI("text=journals;showmenu=journals;pointer=arrow;");
			aI("text=store;showmenu=store;");
			aI("text=bios;showmenu=bios;pointer=arrow;");
			aI("text=educators;showmenu=educators;pointer=arrow;");
			aI("text=about;showmenu=about;pointer=arrow;");
			}
         drawMenus();
I've tried both "arrow" and "default" and not specifying either., but can not get any to work properly. To clarify I need a arrow pointer on all the menu items that do not have URLs.

Please help,

- Kevin
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

The pointer should show as long as there is either a url listed or a submenu. Using pointer=whatever throws an error in ie5.5 win98se. Try leaving that out: ("text=journals;showmenu=journals;");

Ruth
keeva_one
Advanced
Advanced
Posts: 15
Joined: Sun Apr 04, 2004 2:03 am
Location: Seattle, WA, USA
Contact:

Post by keeva_one »

Hi Ruth,

I've taken out the "pointer" reference so now my code looks like:

Code: Select all

with(milonic=new menuname("Main Menu")){
			style=menuStyle;
			alwaysvisible=1;
			orientation="horizontal";
			position="relative";
			aI("text=home;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=news;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=tour;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=forum;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=join;url=http://www.m-pact.com/;status=m-pact home page;");
			aI("text=media;showmenu=media;");
			aI("text=journals;showmenu=journals;");
			aI("text=store;showmenu=store;");
			aI("text=bios;showmenu=bios;");
			aI("text=educators;showmenu=educators;");
			aI("text=about;showmenu=about;");
			}
         drawMenus();
There is still a problem with the pointer however. When I rollover a menu item that has no URL but does have a sub menu the cursor is wildly unpredictable. Most of the time it will change to an I-bar then the browser will load something else and it will then change to a hand.

I want menu items that have no URL but do have sub menus to show an arrow pointer only when rolled over. I also want no delay in showing the arrow. It should be immediate.

I'm using ie5, win2k to view the page.

Have you run into this? Here is my data.js code also in case I'm doing something wrong in it.

Code: Select all

_menuCloseDelay=250           // The time delay for menus to remain visible on mouse out
_menuOpenDelay=100            // The time delay before menus open on mouse over
_subOffsetTop=40              // Sub menu top offset
_subOffsetLeft=-10            // Sub menu left offset
_mySubOffsetTop=3 			  // because we're using a "table bound" nav this custom offset is used

with(menuStyle=new mm_style()){
oncolor="#DFBA56";
offcolor="#FFFFFF";
padding=9;
fontsize=".9em";
fontweight="bold"
pagecolor="#DFBA56";
pagebgcolor="#4C4C4C";
}

with(submenuStyle=new mm_style()){
onbgcolor="#303030";
offbgcolor="#000000";
oncolor="#DFBA56";
offcolor="#FFFFFF";
bordercolor="#9E9E9E";
borderstyle="solid";
borderwidth=1;
separatorcolor="#9E9E9E";
separatorsize="1";
padding=6;
fontsize=".9em";
fontweight="bold"
pagecolor="#DFBA56";
pagebgcolor="#4C4C4C";
overfilter="Alpha(opacity=90);Shadow(color='#000000', Direction=135, Strength=5)";
outfilter="Fade(duration=0.3)";
}

with(footermenuStyle=new mm_style()){
oncolor="#DFBA56";
offcolor="#FFFFFF";
padding=9;
fontsize=".9em";
fontweight="bold"
pagecolor="#DFBA56";
pagebgcolor="#4C4C4C";
}

with(milonic=new menuname("media")){
style=submenuStyle;
top="offset="+_mySubOffsetTop;
aI("text=music;url=/media/music/;status=m-pact music downlods and samples;");
aI("text=photos;url=/media/photos/;status=m-pact photos from the road, live, candid and promo;");
aI("text=video;url=/media/video/;status=m-pact video streams and downloads;");
aI("text=wallpaper;url=/media/wallpaper/;status=m-pact photos you can download and use for your computer's background;");
}

with(milonic=new menuname("journals")){
style=submenuStyle;
top="offset="+_mySubOffsetTop;
aI("text=marco cassone;url=/marco/;status=;");
aI("text=trist ethan curless;url=/trist/;status=;");
aI("text=britt quentin;url=/britt/;status=;");
aI("text=rudy cardenas;url=/rudy/;status=;");
aI("text=jeff smith;url=/jeff/;status=;");
aI("text=brian atkinson;url=/brian/;status=;");
}
with(milonic=new menuname("store")){
style=submenuStyle;
top="offset="+_mySubOffsetTop;
aI("text=CDs;url=/store/cds/;status=;");
aI("text=clothes;url=/store/clothes/;status=;");
aI("text=sheet music;url=/store/sheetmusic/;status=;");
aI("text=photos;url=/store/photos/;status=;");
}
with(milonic=new menuname("bios")){
style=submenuStyle;
top="offset="+_mySubOffsetTop;
aI("text=band bio;url=/bio/;status=;");
aI("text=marco cassone;url=/marco/bio/;status=;");
aI("text=trist ethan curless;url=/trist/bio/;status=;");
aI("text=britt quentin;url=/britt/bio/;status=;");
aI("text=rudy cardenas;url=/rudy/bio/;status=;");
aI("text=jeff smith;url=/jeff/bio/;status=;");
aI("text=brian atkinson;url=/brian/bio/;status=;");
}
with(milonic=new menuname("educators")){
style=submenuStyle;
top="offset="+_mySubOffsetTop;
aI("text=where we've taught;url=/educators/where/;status=;");
aI("text=letters & reviews ;url=/educators/letters/;status=;");
aI("text=clinics;url=/educators/clinics/;status=;");
aI("text=videos;url=/educators/videos/;status=;");
aI("text=sheet music;url=/store/sheetmusic/;status=;");
aI("text=video;url=/media/video/;status=m-pact video streams and downloads;");
aI("text=credentials;url=/educators/cred/;status=;");
}
with(milonic=new menuname("about")){
style=submenuStyle;
top="offset="+_mySubOffsetTop;
aI("text=contact us;url=/contact/;status=;");
aI("text=booking;url=/booking/;status=;");
aI("text=press;url=/press/;status=;");
aI("text=hospitality riders;url=/rides/;status=;");
aI("text=stage plot;url=/stage/;status=;");
aI("text=awards;url=/awards/;status=;");
aI("text=discography;url=/discography/;status=;");
}

drawMenus();
Thanks. I hope I can resolve this. Like I said, when I hit other sites that use milonic on this same machine and browser I do not get this weird sporadic cursor problem, I only get a solid showing arrow pointer.

- Kevin
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

Yes, the pointer shows a hand, that's because that's the default and the showmenu acts more or less like a link I guess. I just went to your site in ie5.5 win98, netscape4.79, 6.1, 7.1, firebird .07, they all show a hand. I'm not sure how it works in the other browsers but have you tried putting in cursor= instead of pointer. pointer seems to be an invalid code for ie.

Ruth
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

Ruth wrote:pointer seems to be an invalid code for ie.
Pointer is actually talking to the menu, not to IE, so that should be OK. Trying to get a valid list of parameters now.

Noticed a couple minor things in the code (other than this is the first time I've seen an em font reference)...

separatorsize="1";
If it's numeric do not use the "". Should be separatorsize=1; .

status=;
These can all be deleted, since they're null.
John
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

In ie5.5 on win98se, if you code it as pointer=arrow; you get an error message: could not get the cursor property. invalid argument, but pointer=default give on error and gives you an arrow.

Ruth
User avatar
kevin3442
Milonic God
Milonic God
Posts: 2460
Joined: Sat Sep 07, 2002 12:09 am
Location: Lincoln, NE
Contact:

Post by kevin3442 »

Ruth wrote:...but pointer=default give on error and gives you an arrow.
I think Ruth made a typo... she probably meant "...gives no error..." Could make a difference in how you rea dit. ;)

Kevin
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

ERROR!!! Lil' ole me??? NEVER! I just wanted to see if you guys were on your toes :P

Ruth - ps it is no not on AND it is gives, lol...maybe I should take a nap
keeva_one
Advanced
Advanced
Posts: 15
Joined: Sun Apr 04, 2004 2:03 am
Location: Seattle, WA, USA
Contact:

Post by keeva_one »

OK, I figured it out, thought you may want to know. I had a line-height:1.3em set in my site-wide css file. Forced the "hot area" of the menu off of the text area of the menu. The hot area didn't match the text area. When I removed the line-height in my global css file it all works fine. This picture may help explain...

Image

Code: Select all

body {
	background-color: #000000;
	margin-top: 6px;
	margin-left: 6px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.7em;
	color: #FFFFFF;
	line-height: 1.3em;
}

This leads me to another question. What's the best way to have a Milonic menu totally ignore any other site-wide css files?

- Kevin


[/img]
keeva_one
Advanced
Advanced
Posts: 15
Joined: Sun Apr 04, 2004 2:03 am
Location: Seattle, WA, USA
Contact:

Post by keeva_one »

whoops.. I jumped the gun. It wasn't line height that caused the problem it was setting "font-size: 0.7em" on the body tag like so

Code: Select all

body {
	background-color: #000000;
	margin-top: 6px;
	margin-left: 6px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.7em;
	color: #FFFFFF;
}
Again, how do you separate a global linked css file from the Milonic styles? I'd be great if Milonic didn't pick up any css from anywhere except it's own files. Or at least it'd be great in my instances.

thanks,

- Kevin
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

I'm not sure you can. The only possibility I can think to try would be to declare your milonic styles in the style sheet. ie. .menuOn and put all the on and the font etc, and .menuOff with all the off stuff and fontsize etc, then use the onclass=menuOn and offclass=menuOff . Since it seems to be picking up the global styles, I would assume it would read the .menuOn /.menuOff classes.

Ruth
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

On the pointer issue, here are valid values for that item...

auto
crosshair
default
pointer
move
e-resize
ne-resize
nw-resize
n-resize
se-resize
sw-resize
s-resize
w-resize
text
wait
help

Just in case you haven't seen them.
John
Post Reply