悬停imagemap区域时突出显示文本,反之亦然 - 使用imagemapster

时间:2013-05-07 22:10:41

标签: jquery hover imagemapster

我有一张图片,一个简单的文字菜单和jQuery imagemapster plugin

当悬停图像区域时,我希望相应的菜单项突出显示(如悬停),当悬停菜单项时,我想要突出显示相应的图像地图区域。

我已经设置了一个简单的jsfiddle来说明问题: http://jsfiddle.net/tqpFU/23/

在基本的jQuery开始之下:

jQuery(document).ready(function ($) {
    $('#house').mapster({
        mapKey: 'name',
        singleSelect: true,
        fillOpacity: 0.6,
        fillColor: 'FF0000',
    });
});

2 个答案:

答案 0 :(得分:1)

使用函数添加悬停属性:

jQuery(document).ready(function ($) {
    $('#house').mapster({
        mapKey: 'name',
        singleSelect: true,
        fillOpacity: 0.6,
        fillColor: 'FF0000',
        onMouseover: function(){
            yourHighlightFunction();
        }
    });
});

答案 1 :(得分:0)

这个小提琴正是我所寻找的:jsfiddle.net/Tr4hE/2/

几乎完全由ruhley回答att github;谢谢! github.com/jamietre/ImageMapster/issues/133

jQuery(document).ready(function ($) {
    $('#house').mapster({
        mapKey: 'name',
        singleSelect: true,
        fillOpacity: 0.6,
        fillColor: 'FF0000',

        //
        onMouseover: function (evt) {
            var parts = evt.key.split('-');
            var part = parts[1];
            highlightArea(part);
        },

        //
        onMouseout: function (evt) {
            var parts = evt.key.split('-');
            var part = parts[1];
            highlightAreaX(part);
        }

    });

        //
        $('a').hover(function () {
            var parts = $(this).closest('li').attr('class').split('-');
            var part = parts[2];
            highlightArea(part);
        });

        //
        $('a').mouseleave(function () {
            var parts = $(this).closest('li').attr('class').split('-');
            var part = parts[2];
            highlightAreaX(part);
        });

});

//
function highlightArea(key) {
    $('area[name=part-' + key + ']').mouseenter();
    $('a').removeClass('hover');
    $('li.menu-item-' + key + ' a').addClass('hover');
}

//
function highlightAreaX(key) {
    $('area[name=part-' + key + ']').mouseout();
    $('li.menu-item-' + key + ' a').removeClass('hover');
}