1

我正在尝试设置一个状态数组,如果数组中存在状态或值,则执行一个函数。下面是我试图修改的实际代码,而“stateRedirects” var 是我在 if (code === stateRedirects) { } 中尝试给我们的。

var stateRedirects = [
    'US-TX',
    'US-CA',
    'US-AL'
    // more will be added
]

$('.map').vectorMap({
    map: 'us_en',
    backgroundColor: 'transparent',
    color: '#0071A4',
    hoverColor: false,
    hoverOpacity: 0.5,
    normalizeFunction: 'polynominal',
    scaleColors: ['#C8EEFF', '#0071A4'],
    onLabelShow: function(event, label, code){
        if (code === stateRedirects ) {
            //do nothing
        }
        else if (code) { //if a state is not specified in var stateRedirects then prevent default
            event.preventDefault();
        }                   
    },      
    onRegionOver: function(event, code){
        if (code === stateRedirects ) {
            //do nothing
        }
        else if (code) { //if a state is not specified in var stateRedirects then prevent default
            event.preventDefault();
        }                   
    },
    onRegionClick: function (event, code) {
        window.location = '/' + code;
    }   
});  

根据评论,我将其更改为使用 [ 和 ] 但现在无法弄清楚如何让它查看代码是否与此行中的数组匹配if (code === stateRedirects ) {

4

1 回答 1

1

用方括号正确定义您的状态代码数组。然后使用array.contains 功能,这似乎是你想要的。

于 2012-08-01T18:36:31.117 回答