Skip to main content

Configure BindTuning themes navigation (Classic SharePoint)

BindTuning Team avatar
Written by BindTuning Team
Updated over 2 months ago

BindMENU 2.0, a powerful component included with your BindTuning theme, offers robust capabilities to configure diverse navigation menus within your Classic SharePoint sites (SharePoint Online Classic, SharePoint 2013, SharePoint 2016, and SharePoint 2019). This article details how to leverage BindMENU 2.0's options to create Horizontal, Vertical (Accordion), and advanced Mega Menus, along with other functionalities.

Prerequisite: To accomplish the steps described in this article, SharePoint Designer is required. You can download it here.


Edit theme's master page

To configure BindMENU 2.0, you will need to directly edit your theme's master page (.master file).

Important: Always Check out the .master file before making any edits. After saving your changes, ensure you Check in the file and, if prompted, publish a major version to make your modifications visible to all users.

  1. Edit the master page (.master file)
    If you don't know how to edit your theme .wsp file check out this article from the blog: How to manually edit a SharePoint wsp file

    1. For Farm solutions: Go to All files > _catalogs > master pages. Select the master page where you'll configure navigation and move to step 2.

    2. For Sanbox solutions: Go to All files > _catalogs > master pages > THEMENAME. Select the master page where you'll configure navigation and move to step 2.

115001603583_1.png


Configure navigation options

Once you've opened your theme's master page for editing, you'll locate the existing BindMENU JavaScript script and modify its options object to define your desired menu style. You'll typically find a script similar to this:

jQuery(function($) {
var options = { // Existing or default options might be here };
$("#MenuH").BindMENU(options); // Or $("#MenuV").BindMENU(options); });

You'll primarily be changing the Style property within the options object, and potentially adding other parameters as needed.

Horizontal Menu (Default)

This is the standard horizontal menu style. Set the Style value to "Default". The menu's orientation (#MenuH for horizontal, #MenuV for vertical) is automatically detected based on the targeted element.

Edit the code as shown below:

jQuery(function($) {
var options = { Style: "Default" }; // Use Default
$("#MenuH").BindMENU(options); // Use #MenuH for a horizontal menu
});

Vertical Menu (Accordion)

This style transforms your vertical menu into an interactive accordion structure. Set the Style value to "Accordion".

Edit the code as shown below:

jQuery(function($) { 
var options = { Style: "Accordion" }; // Use Accordion
$('#MenuV').BindMENU(options); // Use #MenuV for a vertical menu
});

Mega Menu (horizontal)

BindTuning Mega Menus provide a powerful, multi-column dropdown structure, ideal for navigation with numerous sub-items. They automatically display a Mega Menu structure when a sub-item has its own children, or as a wide dropdown if only one sub-level exists. Set the Style value to "MegaMenu".

Edit the code as shown below:

jQuery(function($) { 
var options = { Style: "MegaMenu" };
$('#MenuH').BindMENU(options); // Must be horizontal #MenuH
});

You can further customize your Mega Menu's layout and behavior using these optional parameters within the options object:

Maximum number of columns: Controls the maximum number of columns displayed in the Mega Menu. This is perfect for organizing many sub-items into multiple rows instead of a single, long row.

jQuery(function($) { 
var options = {
Style: "MegaMenu",
MaxColumns: "2" // Items will be organized into max of 2 columns
};
$('#MenuH').BindMENU(options);
});

Min and Max width for submenu items: Optionally, you can set the minimum and maximum width for your submenu items (in pixels) with the variables MinWidth and MaxWidth.

jQuery(function($) { 
var options = {
Style: "MegaMenu",
MaxColumns: "2",
MinWidth: "140", // Sets minimum width to 140px
MaxWidth: "140" // Sets maximum width to 140px
};
$('#MenuH').BindMENU(options);
});

Animations (horizontal)

The menu includes different animation properties (Type, Speed, Appear) to give your theme's menus a smoother user experience. These properties let you control fade-in effects when submenus appear.

  • Type: Defines the animation easing effect (e.g., "easeout").

  • Speed: Controls the animation speed (e.g., "slow", "normal", "fast").

  • Appear: Specifies the direction from which the submenu appears (e.g., "left", "right", "top", "bottom").

Edit the code as shown below:

jQuery(function($) { 
var options = {
// ... e.g., Style: "Default" or Style: "MegaMenu")
Type: "easeout",
Speed: "slow",
Appear: "bottom"
};
$('#MenuH').BindMENU(options);
});

Collapse (horizontal)

The Collapse property defines the screen dimensions at which your horizontal menu transforms into a mobile-friendly, collapsed version. For vertical menus, this typically triggers an off-canvas display.

Edit the code as shown below:

jQuery(function($) { 
var options = {
// ... (your existing Style property)
Collapse: "tablet" // Collapse on tablet-sized screens and smaller
};
$('#MenuH').BindMENU(options);
});

Extra Links (horizontal)

The MaxLinks parameter allows you to set a maximum number of menu items to appear directly on the page. Any remaining items will automatically be grouped and placed inside a submenu, helping keep your navigation concise and uncluttered.

Edit the code as shown below:

jQuery(function($) { 
var options = {
// ... (your existing Style property and other options)
MaxLinks: "4" // Only 4 top-level links will appear directly
};
$('#MenuH').BindMENU(options);
});

Offcanvas (vertical)

The Offcanvas functionality (a side-sliding menu) is primarily used with vertical menus when the Collapse property is activated. This creates a responsive, slide-out navigation for smaller screens.

Note: For the Offcanvas effect to work, you must also set the Collapse value to "Phone" or "Tablet" in your menu options (as shown in the "Collapse" section).

Edit the code as shown below:

jQuery(function($) { 
var options = {
Style: "Accordion",
Collapse: "Tablet" // Vertical menu goes Offcanvas on tablets/phones
};
$('#MenuV').BindMENU(options);
});


Complete menu options

Name

Type

Default

Options

Description

Style

string

Default

Default, MegaMenu, Accordion

The Style parameter allows you to define the menu style you want to use with your theme. You can choose between Default (Horizontal and Vertical), MegaMenu or Accordion.

EventTrigger

string

Hover

Hover, Click

With EventTrigger, events that will cause the show and hide of the menu options. Can only be hover or clicked. If the EventTrigger parameter is omitted, the default value is used.

Speed

string

Normal

Fast, Normal, Hover

With Speed you can control the speed of your submenu animations.

Appear

string

Right

Left, Right, Top, Bottom

Allows you to control the point of origin of the submenu as it appears on the screen.

Collapse

string

Phone

Phone, Tablet

With Collapse you can decide when the menu transforms into a mobile menu. With a mobile menu, the horizontal menu collapses and the vertical menu goes off-canvas.

MinWidth

Horizontal menu only

number

"140"

any value

Allows you to set the minimum width for subitems. If any other string is supplied, or if the MinWidth parameter is omitted, the default value of 140px is used.

MaxWidth

Horizontal menu only

number

not specified

any value

Allows you to set the minimum width for subitems. If any other string is supplied, or if the MaxWidth parameter is omitted, the default value of 250px is used.

MaxColumns

Mega menu only

number

not specified

any value

Allows you to control the number of columns displayed in the Mega menu. Ideal for Mega menus with several subitems. If any other string is supplied, or if the MaxColumns parameter is omitted, the submenu will be displayed in a single row.

MaxLinks

Horizontal menu only

number

not specified

any value

Allows you to set a max number of items on the menu. The remaining items will hide inside a collapsible submenu.

Did this answer your question?