Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

IE6 Menu bug, HELP PLEASE! 
 
gershon
Jr. Member
 
Total Posts:  8
Joined:  2008-08-17
 

I don’t know how many have you noticed, but the the sub menu navigation does not appear on IE6.
Would anyone of you know to fix this bug?

 
Magento Community Magento Community
Magento Community
Magento Community
 
cclohman
Sr. Member
 
Avatar
Total Posts:  82
Joined:  2008-06-16
Los Angeles
 

Is this on the front end or the admin?  Both?  I had a similar problem, that wasn’t specifically related to IE6 where the menus stopped working.  Turns out it was a javascript file permission error.  Check out this post:

http://www.magentocommerce.com/boards/viewthread/17682/P15/

 
Magento Community Magento Community
Magento Community
Magento Community
 
gershon
Jr. Member
 
Total Posts:  8
Joined:  2008-08-17
 
cclohman - 22 September 2008 01:29 PM

Is this on the front end or the admin?  Both?  I had a similar problem, that wasn’t specifically related to IE6 where the menus stopped working.  Turns out it was a javascript file permission error.  Check out this post:

http://www.magentocommerce.com/boards/viewthread/17682/P15/

Oh thanks for pointing me there that bug drove me crazy as well.

I am referring to the frontend take a look at this http://demo.magentocommerce.com/, the top menu does not work in IE6.
Has anyone managed to figure out a fix for this?

 
Magento Community Magento Community
Magento Community
Magento Community
 
burt
Member
 
Total Posts:  31
Joined:  2008-08-26
 

I’m looking for a solution here too. Pretty bad that the navigation does not work in IE6 …

 
Magento Community Magento Community
Magento Community
Magento Community
 
Smallblock
Jr. Member
 
Total Posts:  24
Joined:  2008-06-25
 

Don’t know if you guys are still looking for a solution here, but I tracked this down to the toggleMenu function in js/varien/iehover-fix.js…

It looks like it’s using the assumption that the second child element of the <li> that triggers the event will be the <ul> you want to show. I don’t know if it’s whitespace that’s throwing this off or what, IE6 can handle the DOM a little differently.

I made a small change and it seemed to clear up the problem, although it still does assume we’re looking at the first <ul> in the <li> (which seems safer)

The first two lines there now read

if ($(el).select('ul')) {
    
var uL = $(el).select('ul')[0];

so the whole function would be

function toggleMenu(elover)
{
    
if ($(el).select('ul')) {
    
var uL = $(el).select('ul')[0];
    var 
iS true;
    
}
    
if (over{
        Element
.addClassName(el'over');
        if(
iS){uL.addClassName('shown-sub')};
    
}
    
else {
        Element
.removeClassName(el'over');
        if(
iS){ uL.removeClassName('shown-sub')};
    
}
}

I don’t know if this would work in all situations (for example I don’t have sub menus off of those items) but it did work for me.

I hope it helps someone.

 
Magento Community Magento Community
Magento Community
Magento Community
 
lukemcr
Jr. Member
 
Avatar
Total Posts:  15
Joined:  2008-08-18
 

That definitely helped me, thanks. Turns out that my problem was that I had an extra <ul> tag pair in template/catalog/navigation/navbar.phtml. Finding that in the source and then removing it (knowing how the JS worked thanks to Smallblock’s post) cleared my problem right up.

Thanks a lot!

 
Magento Community Magento Community
Magento Community
Magento Community
 
nikola99
Member
 
Total Posts:  47
Joined:  2010-04-09
 

On my installation of 1.4.1 Magento is including ie6.js. I rewrote the function within:

function toggleMenu(elover)
{
     
var uL Element.down(el'ul');
    if (
over{
        Element
.addClassName(el'over');
        if(
uL)
            uL
.addClassName('shown-sub')
        
}
    }
    
else {
        Element
.removeClassName(el'over');
        if(
uL)
            uL
.removeClassName('shown-sub')
        
}
    }
}
 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top