Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   инициировать hover у карты (https://javascript.ru/forum/jquery/58309-iniciirovat-hover-u-karty.html)

alexmixaylov 14.09.2015 23:53

инициировать hover у карты
 
есть векторная карта
там при наведении над регионом(hover) подсвечивается регион
задается цвет hoverColor: '#87acc7',
$('#vmap').vectorMap({
        map: 'world_en',
        color: '#e7d8c5',
        hoverColor: '#87acc7',
        onRegionOver: function (event, code, region)
        {
            if (arrayCode.indexOf(code) == -1) {
                event.preventDefault();
            }
        }
    });

http://jsfiddle.net/uhg6rv89/

а мне нужно чтобы он еще подсвечивался(то есть срабатывал hover) когда я провожу над списком стран, который добавлен рядом

если я делаю $('#vmap').vectorMap({});
с нужными параметрами, тогда просто создается просто другая карта
а мне нужно чтобы подсвечивался нужный регион

регион распознается по коду - переменная code

рони 15.09.2015 00:28

alexmixaylov,
$(".code").each(function() {
    var a = $(this),
        b = "#jqvmap1_" + a.attr("code");
    a.on({
        mouseenter: function() {
            $(b).mouseenter()
        },
        mouseleave: function() {
            $(b).mouseleave()
        }
    })
});

alexmixaylov 15.09.2015 00:45

рони, ты просто ГЕНИЙ
у меня других слов просто нет
недаром ты Профессор :)

один баг остался
позиционирование лейбла работает некоректно
а так просто супер

рони 15.09.2015 01:07

Цитата:

Сообщение от alexmixaylov
позиционирование лейбла работает некоректно

так event нет -- коректируйте плагин, если сможите

рони 15.09.2015 01:18

alexmixaylov,
или так
$(".code").each(function() {
    var a = $(this),
        b = "#jqvmap1_" + a.attr("code");
    a.on({
        mouseenter: function() {
            var a = $(".jqvmap-label"),
                c = $(b),
                d = c.offset();
            c.mouseenter();
            a.css({
                left: d.left,
                top: d.top
            })
        },
        mouseleave: function() {
            $(b).mouseleave()
        }
    })
});

рони 15.09.2015 01:27

alexmixaylov,
или так чтоб не мучатся с позиционированием
$(".code").each(function() {
    var a = $(this),
        b = "#jqvmap1_" + a.attr("code");
    a.on({
        mouseenter: function() {
            $(b).mouseenter();
            $(".jqvmap-label").hide()
        },
        mouseleave: function() {
            $(b).mouseleave()
        }
    })
});


Часовой пояс GMT +3, время: 03:57.