mega menu help
Posted: Mon Sep 06, 2010 4:35 pm
Hi,
I have created a mega menu that works fine offline/on a static page, but when I try to apply it to my cssmenu_ulshadow.tpl file, it doesn't work.
Can anyone see anything wrong with this code?
[php]
.....
{else}
alias}">
{if $node->alias == 'services'}
services
Products
Desktop
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Laptop
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Accessories
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Accessories
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
$(document).ready(function() {
function megaHoverOver(){
$(this).find(".sub").stop().fadeTo('fast', 1).show();
//Calculate width of all ul's
(function($) {
jQuery.fn.calcSubWidth = function() {
rowWidth = 0;
//Calculate row
$(this).find("ul").each(function() {
rowWidth += $(this).width();
});
};
})(jQuery);
if ( $(this).find(".row").length > 0 ) { //If row exists...
var biggestRow = 0;
//Calculate each row
$(this).find(".row").each(function() {
$(this).calcSubWidth();
//Find biggest row
if(rowWidth > biggestRow) {
biggestRow = rowWidth;
}
});
//Set width
$(this).find(".sub").css({'width' :biggestRow});
$(this).find(".row:last").css({'margin':'0'});
} else { //If row does not exist...
$(this).calcSubWidth();
//Set Width
$(this).find(".sub").css({'width' : rowWidth});
}
}
function megaHoverOut(){
$(this).find(".sub").stop().fadeTo('fast', 0, function() {
$(this).hide();
});
}
var config = {
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
interval: 100, // number = milliseconds for onMouseOver polling interval
over: megaHoverOver, // function = onMouseOver callback (REQUIRED)
timeout: 500, // number = milliseconds delay before onMouseOut
out: megaHoverOut // function = onMouseOut callback (REQUIRED)
};
$("ul#topnav li .sub").css({'opacity':'0'});
$("ul#topnav li").hoverIntent(config);
});
{/if}
[/php]
Any help would be great. Thanks
I have created a mega menu that works fine offline/on a static page, but when I try to apply it to my cssmenu_ulshadow.tpl file, it doesn't work.
Can anyone see anything wrong with this code?
[php]
.....
{else}
alias}">
{if $node->alias == 'services'}
services
Products
Desktop
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Laptop
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Accessories
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Accessories
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
Navigation Link
$(document).ready(function() {
function megaHoverOver(){
$(this).find(".sub").stop().fadeTo('fast', 1).show();
//Calculate width of all ul's
(function($) {
jQuery.fn.calcSubWidth = function() {
rowWidth = 0;
//Calculate row
$(this).find("ul").each(function() {
rowWidth += $(this).width();
});
};
})(jQuery);
if ( $(this).find(".row").length > 0 ) { //If row exists...
var biggestRow = 0;
//Calculate each row
$(this).find(".row").each(function() {
$(this).calcSubWidth();
//Find biggest row
if(rowWidth > biggestRow) {
biggestRow = rowWidth;
}
});
//Set width
$(this).find(".sub").css({'width' :biggestRow});
$(this).find(".row:last").css({'margin':'0'});
} else { //If row does not exist...
$(this).calcSubWidth();
//Set Width
$(this).find(".sub").css({'width' : rowWidth});
}
}
function megaHoverOut(){
$(this).find(".sub").stop().fadeTo('fast', 0, function() {
$(this).hide();
});
}
var config = {
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
interval: 100, // number = milliseconds for onMouseOver polling interval
over: megaHoverOver, // function = onMouseOver callback (REQUIRED)
timeout: 500, // number = milliseconds delay before onMouseOut
out: megaHoverOut // function = onMouseOut callback (REQUIRED)
};
$("ul#topnav li .sub").css({'opacity':'0'});
$("ul#topnav li").hoverIntent(config);
});
{/if}
[/php]
Any help would be great. Thanks