2014-09-03 39 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:我试图改变这些变量,但没有任何反应。