2012-11-01 79 views
1

我正在使用來自newsignature(http://newsignature.github.com/us-map/)的jquert使用一個非常酷的交互式地圖。我無法確定如何在點擊時爲每個州輸入獨特的信息。換句話說,當用戶點擊華盛頓時,他們會得到一定的信息,而不是點擊阿肯色州時的信息。也許甚至是具有內容樣式的能力。交互式美國地圖功能

我使用當前的代碼是:

$(document).ready(function() { 
    $('#map').usmap({ 
    'stateSpecificStyles': { 
     'AK' : {fill: '#0F253F'} 
    }, 
    'stateSpecificHoverStyles': { 
     'HI' : {fill: '#0F253F'} 
    }, 

    'mouseoverState': { 
     'HI' : function(event, data) { 
     //return false; 
     } 
    }, 


    'click' : function(event, data) { 
     $('#alert') 
     .text('Click '+data.name+' copy ') 
     .stop() 
     .css('backgroundColor', '#ff0') 
     .animate({backgroundColor: '#ddd'}, 1000); 
    } 
    }); 


}); 

我想看到什麼發生的是,當你點擊它會顯示有關該狀態與每個狀態相同的信息信息的特定狀態。

回答

1

那麼,他們點擊的狀態是在data.name屬性。有很多方法可以解決這個問題。你有什麼嘗試?

$('#map').usmap({ 
    // The click action 
    click: function(event, data) { 
    var description = "No state info loaded for this state."; 
    switch(data.name) 
    { 
     case 'IL': 
      description = 'You clicked on the Land of Lincoln!'; 
      break; 
     case 'MO': 
      description = 'You clicked on the Show-Me State!'; 
      break; 
     // etc 
    } 
    $('#clicked-state') 
     .text(description) 
     .parent().effect('highlight', {color: '#C7F464'}, 2000); 
    } 
}); 

其實,現在我的文檔看起來更,你也可以讓國家的具體方法是這樣的:

$('#map').on('usmapclickIL', function(event, data) { 
    $('#clicked-state') 
     .text('You clicked on the Land of Lincoln!') 
     .parent().effect('highlight', {color: '#C7F464'}, 2000); 
}); 
+0

現在我還沒有與任何任何的成功,我都試過,因爲我我對我的技能不是很有信心。 –

+0

這就是我現在:$( '#圖')usmap({ \t 'stateSpecificStyles':{ \t 'AK':{填寫: '#0F253F'} \t}, \t 'stateSpecificHoverStyles': { \t 'HI':{補: '#0F253F'} \t}, \t \t 'mouseoverState':{ \t 'HI':功能(事件,數據){ \t //返回false; \t } \t}, \t \t \t '點擊':函數(事件數據){ \t $( '#警報') \t的.text( '點擊 '+ data.name +' 複製') \t .stop() \t .css('backgroundColor','#ff0') \t .animate({backgroundColor:'#ddd'},1000); \t} \t}); –

+0

如果你更具體地指出什麼不像你期望的那樣工作,那麼提供進一步的幫助會更容易。另外,當你在這裏提出問題時,如果你可以提供少量代碼來證明問題,那也是有幫助的。最後,獲得幫助的絕對最佳方式是在jsfiddle.net上創建一個演示,在演示中,人們可以將您的代碼視爲正在進行的工作並對其進行評論。 –