1

私は ImageMapster を使用しており、次のような配列に定義されている特定の領域を選択したいと考えています。

var Carnet=new Array("6a","7a","8a","7c","8c","9c","23g","23g","14m","15m","16m");
var c = Carnet.length;

$('#central').mapster({
    mapKey: 'asiento',
    fillOpacity: 0,
    fillColor: "000000",
    stroke: true,
    strokeColor: "32CD32",
    strokeOpacity: 0.8,
    strokeWidth: 1,
    singleSelect : false,
    areas:  [
        for(i=0;i<c;i++)
        {
            {
                key: Carnets[i],
                fillOpacity: 0,
                fillColor: "000000",
                stroke: true,
                strokeColor: "00FF00",
                isSelectable:false
            }
    }]
});

しかし、FORに問題があります...その場合、どのように機能しますか?

4

1 に答える 1

2

areasオブジェクト リテラルの for ループでプロパティを設定したいですか? これは、即時呼び出し関数式 (IIFE) を使用して非常に簡単に行うことができます。

$('#central').mapster({
    mapKey: 'asiento',
    fillOpacity: 0,
    fillColor: "000000",
    stroke: true,
    strokeColor: "32CD32",
    strokeOpacity: 0.8,
    strokeWidth: 1,
    singleSelect : false,
    areas:  (function(Carnets, c){
        var myArray = [];
        for(var i=0;i<c;i++)
        {
            myArray.push({
               key: Carnets[i],
               fillOpacity: 0,
               fillColor: "000000",
               stroke: true,
               strokeColor: "00FF00",
               isSelectable:false
            });
        }
        return myArray;
    })(Carnets, c)
});

areasこれで、関数によって返された配列がオブジェクトのプロパティに割り当てられます。

于 2013-07-05T17:52:42.277 に答える