2016-05-02 35 views
0

我正在使用New Signature US地圖插件開發交互式地圖。你可以在這裏看到我的代碼:http://codepen.io/ann_kwilinski/pen/EKdGYW需要幫助進行活動狀態點擊查看jQuery地圖上的狀態標籤

我也將在此前言,我是一個初學javascript的人。

我需要添加一個活動狀態到我的狀態標籤,我真的被困在如何寫這個。該插件具有懸停狀態選項,但不是活動狀態。

'labelTextHoverStyles': { 
      fill: '#000000' 
     }, 

如果任何人可以指示我如何做到這一點,將不勝感激。

更新

我需要幫助的stateSpecificLabelStyles結合的Click事件我已經有了:

'click' : function(event, data) { 
$('#clicked-state') 
.text('Breathe Better Network partners in '+ data.name) 
.stop() 
.animate({backgroundColor: '#ddd'}, 1000); 

// Populate List in Panel 
       //var stateSelected = data.name; 
       var stateContent = $('#'+data.name+'-li').html(); 
       // alert(stateContent); 
       $("#state-list-response").html(stateContent); 

       //Open Panel List 
       $(".state-list-overlay").slideDown("fast", function() { 
        $(".state-list-panel").slideDown("fast", function() { 
         $(".state-list").fadeIn(); 
        }); 
       }); 

       $("#map > svg > path").each(function(i){ 
        $(this).css('fill', ''); 
       }); 
       $('#' + data.name).css('fill', '#26aedf'); 
       }, 


    }); 

回答

2

我認爲你需要使用的JQuery U.S MapstateSpecificStyles屬性:

$('#map').usmap({ 
    stateSpecificStyles: { 
    'MD': {fill: 'yellow'}, 
    'VA': {fill: 'teal'} 
    } 
}); 

由於'MD'和'VA'是你的st在MAP中吃了代碼。

更新:是的,你也可以綁定自己的Click事件,如:

click: function(event, data) { 

     // Output the abbreviation of the state name to the browser's console. Press f12 in your browser to see this result. 
     console.log(data.name); 

     // And when you have the state abbreviation, you can use the above example like this: 
     stateSpecificStyles: { 
     data.name: {fill: 'black'} 
     } 

    } 
+0

好吧,是的,我知道我可以綁定stateSpecificStyles與一個事件,而是有沒有辦法讓所有狀態labelTextStyles在點擊時變成黑色,就像點擊時地圖變爲顏色一樣,而不必寫出所有50個州的縮寫? –

+0

檢查我的更新,如果它幫助你不要忘記標記爲正確或最多投票:) – hmd