2014-09-03 53 views
0

我正在使用名爲maphilight的jquery。管理類的元素

我使用這種方法來高亮顯示圖像的特定映射。

$('.key').click(function(e) { 
    e.preventDefault(); 
    var data = $(this).mouseout().data('maphilight') || {}; 
    data.alwaysOn = !data.alwaysOn; 
    $(this).data('maphilight', data).trigger('alwaysOn.maphilight'); 
}); 

我正在使用3個不同的類(鍵,alpha和控件)。而我發佈在頂部的這種方法突出顯示了個人密鑰。現在我想突出顯示一組具有類alpha和控件的鍵(所有的地圖都是關鍵類)。

我用這一個

$('#balpha').click(function(e) {    
    $('.alpha').each(function(e) {    
     e.preventDefault(); 
     var data = $(this).mouseout().data('maphilight') || {}; 
     data.alwaysOn = !data.alwaysOn; 
     $(this).data('maphilight', data).trigger('alwaysOn.maphilight'); 
    }); 
}); 

但不會做任何事情,任何提示?

+2

有點格式化永遠不會傷害 – Huangism 2014-09-03 14:51:30

+0

@黃色:可能沒有多一點格式化:) – 2014-09-03 14:52:50

+0

你剛剛編輯它抱歉。 – 2014-09-03 14:53:57

回答

1

您爲兩個函數設置了相同的變量。它必須導致問題。

$('#balpha').click(function(event) {    
    $('.alpha').each(function(e) {    
     event.preventDefault(); 
     var data = $(this).mouseout().data('maphilight') || {}; 
     data.alwaysOn = !data.alwaysOn; 
     $(this).data('maphilight', data).trigger('alwaysOn.maphilight'); 
    }); 
}); 
-1

我會盡量做得更具體。

$('.key').click(function(e) { 
     e.preventDefault(); 
     var data = $(this).mouseout().data('maphilight') || {}; 
     data.alwaysOn = !data.alwaysOn; 
     $(this).data('maphilight', data).trigger('alwaysOn.maphilight'); 
    }); 

此方法更改我映射圖像的單個部分。

我想用按鈕在同一時間更改某些區域。

如果我改變這個方法。

$('·balpha').click(function(e) { 
     e.preventDefault(); 
     var data = $('.alpha').mouseout().data('maphilight') || {}; 
     data.alwaysOn = !data.alwaysOn; 
     $('.alpha').data('maphilight', data).trigger('alwaysOn.maphilight'); 
    }); 

它改變我的地圖的多個領域,但後來當我試圖分別改變他們,他們與內多個區域一個區域的工作。 Image of the map

PD:我試圖改變這些變量,但沒有任何反應。