Menus in IE6

Having problems with DHTML Menu? There is usually somebody here who knows the answer.
Post Reply
jdrobin
Beginner
Beginner
Posts: 3
Joined: Wed Jan 26, 2005 5:25 pm
Contact:

Menus in IE6

Post by jdrobin »

I have had a menu that has worked for over 2 years. When we upgraded to IE6 the menu only goes over two levels and wont go any further. Any help would be appreciated. You can view the site at http://www.fpc.cc.tx.us. The menu is on the left of the main page.
User avatar
stephen702
Super Advanced
Super Advanced
Posts: 77
Joined: Wed Jul 16, 2003 4:53 am
Location: Davis, CA
Contact:

Post by stephen702 »

I'm using I.E. 6.0 and the menu seems to be OK, with one exception.

See my screenshot at: http://www.arc.losrios.edu/fpc_home_IE6.html

The only problem is that the last submenu you see on my screenshot won't go any farther: I can't access "Archive 2003". When I try, the submenus all collapse.

This last behavior does not occur in FireFox. The "Archive 2003" submenu does appear:
http://www.arc.losrios.edu/fpc_home_firefox.html
Last edited by stephen702 on Wed Jan 26, 2005 6:50 pm, edited 1 time in total.
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

First problem is FrontPage. It can (and does) do all kinds of nasty things behind your back. Here, I think, is an example...

Code: Select all

aI("text=Math¬ Science¬& Physical Education;url=http://www.fpc.cc.tx.us/MathSciPE/;")
Note the goofy characters (CR symbols) after Math and also Science. I can get out to this menu (5th level), but it closes almost immediately. Check your code carefully for any more of this nonsense!

You also have some syntax problems...

Code: Select all

aI("text=;;;;separatorsize=1")
Should be...

Code: Select all

aI("text=;separatorsize=1;");
Note the removal of the multiple ; , and also the close. All aI statements should close in this fashion. There are numerous other incidents of multiple ;; . The only time you would use them is something like this...

Code: Select all

aI("text= ;separatorsize=1;");
One to close the   , and one to close the text= statement.
John
jdrobin
Beginner
Beginner
Posts: 3
Joined: Wed Jan 26, 2005 5:25 pm
Contact:

Post by jdrobin »

Exactly stephen702,
That is my problem. Everyone on campus uses ie6 and it doesnt work with it. The 2003 archive isnt the only one that does this. Anything past that level wont work any more. I made the changes that john recommended to no avail. Like i said, it works on everything but ie6.
User avatar
John
 Team
 Team
Posts: 5967
Joined: Sun May 19, 2002 8:23 pm
Location: Phoenix, AZ
Contact:

Post by John »

Stephen, that's interesting. Looking at your screen shot, the whole menu stops working at the 4th level (I misspoke when I said 5th level).

Does the 5th level menu work OK when you go to it with Firefox?
John
cipher-21
Beginner
Beginner
Posts: 1
Joined: Wed Jan 26, 2005 8:06 pm

Post by cipher-21 »

John,
The only browser it does not work correctly in is IE 6 (with the current SP). It works fine in FireFox, it works fine in IE 5.5, it works fine in Opera but it does not work in IE 6.
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

Hi jdrobin,

There are a number of things that may be causing the problem. I was taking a look at the viewsource on the page, and it shows that you have the menu in a div <div float:left> The menu reacts badly in a div in some browsers since it is made up of divs, spans etc. Given your layout you should be able to set it with a top=150 left=1 as you have them, or you can put in the screenposition="left"; in place of the left=1; If you want to offset 1px from the left and still use screenposition="left"; you can put in left="offset=1"; Then you move the calls back up right after the body tag with the copyright notice. This will eliminate submenu problems.

I notice you have effect= at the top of the file, there is now a menu property for that called overfilter, and you have alignment="left"; if you are trying to align the text left, the code is align="left";

Code: Select all

overfilter="Fade(overlap=1.00, duration=1.5);Alpha(style=0, opacity=90);Shadow(color='#777777', direction=135, strength=5)";
Ruth
User avatar
Ruth
 Team
 Team
Posts: 8763
Joined: Thu May 15, 2003 5:02 am
Location: Yucaipa, CA
Contact:

Post by Ruth »

:oops: I forgot to give you the link to the Fitlers interactive Demo which lets you test different filters and get the code for them. FILTERS DEMO

And, the problems you mentioned also occur in IE5.5

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 »

Hi jdrobin,

I'll have to go with Ruth's assessment here. You have all of the menu source code (all of the .js file) loading inside of a <div> that is nested inside of another <div>. Along with that, the <div> where you're loading the .js files for the menu is inside of a table cell, and that table is itself nested inside of another table. So, you're loading the menu code inside of divs as well as tables.

As far as I can tell, the table connection is coincidental; there's no obvious reason why the code is inside of nested tables, so I'm guessing that it happened accidentally during the design of the page layout. It does seem that you're using the <div> containing the menu code to position the menu at the left. As Ruth pointed out, that's not necessary to position the menu; you can use the menu's own positioning capabilities to put it where you want it. So:

the code that loads the .js files into your page is:

Code: Select all

<script type="text/javascript" src="milonic_src.js"></script>
<script type="text/javascript">
  if(ns4)_d.write("<scr"+"ipt language=JavaScript src=mmenuns4.js><\/scr"+"ipt>");		
  else _d.write("<scr"+"ipt language=JavaScript src=mmenudom.js><\/scr"+"ipt>"); 
</script>
<script type="text/javascript" src="menu_data.js"></script>
Take that code out of the divs and tables and put it just after the <body> tag (you could delete the <div> that used to contain the menu code). Then, edit menu_data.js as Ruth suggested to position the main menu where you want it.

That should do the trick.

Kevin
jdrobin
Beginner
Beginner
Posts: 3
Joined: Wed Jan 26, 2005 5:25 pm
Contact:

That Did it!

Post by jdrobin »

Thanks that did the trick. I appreciate it.
Post Reply