管理班级的元素

时间:2014-09-03 14:49:46

标签: javascript jquery html5

我正在使用名为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 个答案:

答案 0 :(得分:2)

为两个函数设置相同的变量。它必定会导致问题。

$('#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 :(得分:-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:我试图改变变量,但没有任何反应。