2

我正在使用插件 jqvmap ( http://www.jqvmap.com/ ) 并初始化了一张地图:

var setMap = function (name) {
    var data = {
        map: 'world_en',
        hoverColor: null,
        hoverOpacity: null,
        values: {
            "us": 11,
            "ca": 33,
            "ru": 22,
            ...
        },
        ...
        showTooltip: true,
        onRegionOver: function (event, code, region) {

            //Here is my problem
            if (code == 'ca' || code == 'us' || ...) data.hoverColor = '#c9dfaf';
        },
        onRegionOut: function (event, code, region) {
            data.hoverColor = null;
        },
    };

    data.map = name + '_en';
    var map = jQuery('#vmap_' + name);
    if (!map) {
        return;
    }
    map.width(map.parent().parent().width());
    map.show();
    map.vectorMap(data);
    map.hide();
}

setMap("world");

现在我尝试在onRegionOver函数中更改 hoverColor ,因为我只想要状态的 hovercolor ,它有数据,但它没有改变任何东西?hoverColor 仍然为空。你能帮我吗,这是怎么回事?

4

1 回答 1

1

我在地图上试了一下,找到了这个解决方案:

if (code == 'ca' || code == 'ca') jQuery('#vmap').vectorMap('set', 'colors', {us: '#c9dfaf', ca: #c9dfaf});

如您所见,我已经让它在我的地图上工作,该地图位于 ID 为 vmap 的 div 中。

于 2014-09-11T18:58:09.940 回答