Drupal is a great open source CMS package. There are some bugs in it with additional modules but those are being fixed by the community. One nasty bug is the one where you use nice menus and the second level menu items hide behind parent items in IE. Nice menus work perfect in Firefox and Safari but in IE they behave oddly. I had this issue with one of my websites and after a long research on it I found the fix. All you need to do is
to add following function to your nice_menus.js javascript file. This function takes care of the z-index property properly. I fixed my issue with this code and hope this will come handy for you too. Please comment if this solves your problem.
to add following function to your nice_menus.js javascript file. This function takes care of the z-index property properly. I fixed my issue with this code and hope this will come handy for you too. Please comment if this solves your problem.
window.onload = function() {
if (document.all) {
var targetZIndex = 1000;
var parent = document.getElementById('nice-menu-1');
var children = parent.getElementsByTagName('li');
for (var i = 0; i < children.length; i++) {
children[i].style.zIndex = targetZIndex;
targetZIndex--;
}
}
}
sorry, but I'm not great with javascript... where does this go within the nice_menus.js file?
ReplyDelete// $Id: nice_menus.js,v 1.21 2010/06/18 06:14:12 vordude Exp $
// This uses Superfish 1.4.8
// (http://users.tpg.com.au/j_birch/plugins/superfish)
// Add Superfish to all Nice menus with some basic options.
(function ($) {
$(document).ready(function() {
$('ul.nice-menu').superfish({
// Apply a generic hover class.
hoverClass: 'over',
// Disable generation of arrow mark-up.
autoArrows: false,
// Disable drop shadows.
dropShadows: false,
// Mouse delay.
delay: Drupal.settings.nice_menus_options.delay,
// Animation speed.
speed: Drupal.settings.nice_menus_options.speed
// Add in Brandon Aaron’s bgIframe plugin for IE select issues.
// http://plugins.jquery.com/node/46/release
}).find('ul').bgIframe({opacity:false});
$('ul.nice-menu ul').css('display', 'none');
});
})(jQuery);
Hi Chris,
ReplyDeleteEven if you put it at the very top it should work.
Regards,
Programmer
Programmer-
ReplyDeleteUnfortunately, I was dealing with something a little more complicated. Nice Menu was getting hidden behind a SlideShow in the header, but I ended up fixing it by providing the same zIndex 1000 through the master.css file. Thank you for putting me on the right path!
Chris,
ReplyDeleteI am glad to be of some help.
Regards,
Programmer
This worked for me. I had to place it at the bottom of the nice-menu.js to make it work though.
ReplyDeleteThanks man.
Dear Frodopwns,
ReplyDeleteThank you for your feedback. It is much appreciated.
Regards,
Programmer
Your help is very much appreciated. I was at lost here, when my nice menu flyout was hidden behind my content.
ReplyDeleteDear Diana,
ReplyDeleteI am glad my experience was of some help to you.
Regards,
Dinesh Agarwal
Nice! Would you like to present this at one of the upcoming LA Drupal meetups? drupal
ReplyDelete