Search code examples
javascriptjqueryhtmlcssimagemap

jQuery show div on hover with image map


I have an image map that I want to show a new div when I hove over the hotspots. It starts with a default listing of text but once I mouseover the hotspots, I want that to change out to the corresponding div's. I'm using the following code and am getting no joy:

$(".office-default").mouseover(function () {
    var elementId = "#office-" + $(this).attr("id").split("-")[1];
    $(elementId).removeClass("hidden");
});

$(".office-default").mouseout(function () {
    var elementId = "#office-" + $(this).attr("id").split("-")[1];
    $(elementId).addClass("hidden");
});

Here's the entire code: http://jsfiddle.net/leadbellydesign/jR6pa/1/

I've done tons of searches and have come up with nothing helpful. I don't want to change images, I just want to show div's.


Solution

  • You still need to fix the space below the divs, but this should work

    DEMO

    $("area").hover(function () {
        $office = $(this).attr("href");
        $(".office-default > div").addClass("hidden");
        $($office).removeClass("hidden");
    }, function(){
        $(".office-default > div").addClass("hidden");
        $("#office-1").removeClass("hidden");
    });
    

    UPDATE

    To fix the spacing issue, update your .office-default CSS:

    DEMO

    .office-default {
        background:#444;
        padding:5px 15px 0;
        width: 80%;
        height:150px;
    }