jQuery Pretty Pie Click Hover Menu

Share this article

jquery-piehover-menu
Hi guys, I stumbled upon this pretty cool hover menu which rotates around an element and the menu item is automatically selected when you move the mouse around it. It also has a pretty cool function that allows it to appear when you right click the mouse which could be useful for some applications. Requirements: jQueryUI, Firefox/Chrome – may be issues with IE but later versions seem to be ok.
//example pie hover menu
$(function() {

    $("#area").prettypiemenu({
        buttons: [
            { img: "ui-icon-minus", title: "plaah1" }, 
            { img: "ui-icon-plus",  title: "plaah2" },
            { img: "ui-icon-close", title: "plaah3" }
        ],
        onSelection: function(item) {
          alert (item + ' was clicked!'); 
        },
        showTitles: false
    });

    $("#test").prettypiemenu({
        buttons: [
            { img: "ui-icon-minus", title: "plaah1" }, 
            { img: "ui-icon-plus",  title: "plaah2" },
            { img: "ui-icon-close", title: "plaah3" },
            { img: "ui-icon-check", title: "plaah4" }
        ],
        onSelection: function(item) {
          alert (item + ' was clickedoo!'); 
        },
        closeRadius: 25,
        showTitles: true
    });      
    
    $( "#testbtn" ).button({ icons: {primary:"ui-icon-gear"}, text: false })
    .click(function(event) {
        event.preventDefault();
        var offset = $( "#testbtn" ).offset();
        var h = $( "#testbtn" ).height();
        var w = $( "#testbtn" ).width();
        var btn_middle_y = offset.top + h/2;
        var btn_middle_x = offset.left + w/2;
        $("#test").prettypiemenu("show", {top: btn_middle_y, left: btn_middle_x});
        return false;
    }); 
});
Demo Download Page

Frequently Asked Questions (FAQs) about jQuery Hover and Click Menu

How can I use jQuery to create a hover effect on a menu item?

To create a hover effect using jQuery, you need to use the hover() method. This method specifies two functions to run when the mouse pointer hovers over the selected elements. This method triggers both the mouseenter and mouseleave events. Here is a simple example:

$(selector).hover(inFunction,outFunction);

In this example, ‘inFunction’ is the function to run when the mouseenter event occurs, and ‘outFunction’ is the function to run when the mouseleave event occurs.

How can I use jQuery to create a click event on a menu item?

To create a click event using jQuery, you can use the click() method. This method attaches an event handler function to an HTML element. The function is executed when the user clicks on the HTML element. Here is a simple example:

$(selector).click(function);

In this example, ‘function’ is the function to run when the click event occurs.

What is the difference between hover() and click() methods in jQuery?

The hover() method in jQuery is used to specify two functions that run when the mouse pointer hovers over the selected elements. This method triggers both the mouseenter and mouseleave events. On the other hand, the click() method in jQuery is used to attach an event handler function to an HTML element. The function is executed when the user clicks on the HTML element.

Can I use both hover() and click() methods on the same element in jQuery?

Yes, you can use both hover() and click() methods on the same element in jQuery. The hover() method will trigger when the mouse pointer hovers over the element, and the click() method will trigger when the user clicks on the element.

How can I stop the hover effect in jQuery?

To stop the hover effect in jQuery, you can use the off() method. This method removes event handlers that were attached with the on() method. Here is a simple example:

$(selector).off("mouseenter mouseleave");

In this example, the mouseenter and mouseleave events are removed from the selected elements.

How can I add a delay to the hover effect in jQuery?

To add a delay to the hover effect in jQuery, you can use the delay() method. This method sets a timer to delay the execution of subsequent items in the queue. Here is a simple example:

$(selector).delay(time).queue(function);

In this example, ‘time’ is the time in milliseconds that the execution of subsequent items in the queue should be delayed.

How can I animate the hover effect in jQuery?

To animate the hover effect in jQuery, you can use the animate() method. This method performs a custom animation of a set of CSS properties. Here is a simple example:

$(selector).hover(function(){
$(this).animate({properties},speed);
});

In this example, ‘properties’ is an object of CSS properties and values, and ‘speed’ is the speed of the animation.

How can I use jQuery to create a dropdown menu on hover?

To create a dropdown menu on hover using jQuery, you can use the hover() method to show and hide the dropdown menu when the mouse pointer hovers over the menu item. Here is a simple example:

$(selector).hover(function(){
$(this).children(".dropdown-menu").toggle();
});

In this example, the dropdown menu is shown or hidden when the mouse pointer hovers over the menu item.

How can I use jQuery to create a clickable dropdown menu?

To create a clickable dropdown menu using jQuery, you can use the click() method to show and hide the dropdown menu when the user clicks on the menu item. Here is a simple example:

$(selector).click(function(){
$(this).children(".dropdown-menu").toggle();
});

In this example, the dropdown menu is shown or hidden when the user clicks on the menu item.

How can I use jQuery to create a navigation bar with hover and click effects?

To create a navigation bar with hover and click effects using jQuery, you can use the hover() method to change the appearance of the menu items when the mouse pointer hovers over them, and the click() method to show and hide the dropdown menus when the user clicks on the menu items. Here is a simple example:

$(selector).hover(function(){
$(this).css("background-color", "yellow");
}, function(){
$(this).css("background-color", "pink");
});

$(selector).click(function(){
$(this).children(".dropdown-menu").toggle();
});

In this example, the background color of the menu items changes when the mouse pointer hovers over them, and the dropdown menus are shown or hidden when the user clicks on the menu items.

Sam DeeringSam Deering
View Author

Sam Deering has 15+ years of programming and website development experience. He was a website consultant at Console, ABC News, Flight Centre, Sapient Nitro, and the QLD Government and runs a tech blog with over 1 million views per month. Currently, Sam is the Founder of Crypto News, Australia.

jQuery
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week
Loading form