2016-07-26 67 views
0

我在我的網站上使用這個plugin,這很好用。你可以通過對現狀的具體樣式的參數,它看起來像這樣:從jQuery數組中動態創建參數

$('#map').usmap({ 

    showLabels: false, 
    stateStyles: { 
     fill : '#ffffff', 
     stroke : '#4f4f4f', 
     'stroke-width' : 4, 
    }, 

    stateHoverStyles: { 
     fill : '#ffffff' 
    }, 

    stateSpecificStyles: { 
     'IN': { 
      fill : '#84b8e7' 
     }, 

     'CA': { 
      fill : '#84b8e7'  
     }, 

     'TX': { 
      fill : '#84b8e7'  
     } 
    }, 

    stateSpecificHoverStyles: { 

     'IN': { 
      fill : '#0972ce'  
     }, 

     'CA': { 
      fill : '#0972ce'  
     }, 

     TX': { 
      fill : '#0972ce'  
     } 
    } 
}); 

我想從一個數組,看起來像[「CA」,「IN」動態填補這些國家的風格,「TX」 ]。這可能嗎?

+0

是的,這是可能的!如果你分享你的相關代碼/努力,社區更有可能幫助你=)(請參閱http://stackoverflow.com/help/mcve和http://stackoverflow.com/help/how-to-ask) – Hodrobond

+0

會做,謝謝。我自己做了一些努力,但認爲他們幾乎只是無稽之談。不過,我會在下次發佈它們。 – Ben

+0

代碼空白 – jwvh

回答

1

如果你只是想找一種方式來創建一個看起來像這樣的對象,這段代碼將爲你做。讓我們更多地瞭解您的需求,並且我可以擴展它。

var arr = ['CA', 'IN', 'TX'], // Your state vars 
 
    output = []; 
 

 
arr.forEach(function(el) { 
 
    output[el] = { 
 
    fill: '#000000' // Could come from the same array, if needed 
 
    }; 
 
)}; 
 
      
 
console.log(output);

+0

完美的工作。謝謝你,先生。 – Ben

+0

沒問題!如果您有任何其他問題,請告訴我。 –