Pekka
Pekka

Reputation: 449733

Javascript drop down menu widget

I have a menu consisting of an <ul> in a Web CMS. I want several menu items to have sub-items that are displayed in a dropdown list. These sub-items are <ul>s as well.

This is basically easy to do with a few lines of CSS and Javascript, but I am looking for a ready-made Javascript solution that helps me handle the following:

This is a bitch to code from scratch.

"Nice to have"s would be:

But those I can do myself if necessary.

A nice, small, unobtrusive widget that magically converts my <ul> would be lovely.

If the solution is based on a framework, it has to be Prototype as that's what I'm using in the CMS.

Upvotes: 3

Views: 1082

Answers (1)

user215361
user215361

Reputation:

You can get the offsets of the UL, and check whether those are in a certain distance of the viewport.

// Pseudo code
var ul = document.getElementById("menu");
if(ul.offset.x + ul.width > viewport.width) {
    ul.offset.x = viewport.width - ul.width;
}

It's also possible to get the exact position of the dropdown button clicked, and then you should apply basic math in order to position the menu beneath it.

Upvotes: 3

Related Questions