Javascript “始终打开”jquery命令

Javascript “始终打开”jquery命令,javascript,jquery,Javascript,Jquery,最近我正在做一个项目,不使用flash为商场制作一个交互式目录地图,因为他们需要通过移动设备访问 但我对jquery有意见,我使用带有jquery映射高亮显示的自定义java命令。我用它来对付我的马库德人 方法在有人单击地图或下面的列表时调用,它将突出显示地图,并在右侧显示信息 我的问题是,当有人从列表或地图中单击另一家商店时,它不会清除上一个高亮显示的块,而上一个块会一直高亮显示,无论你单击多少次 我需要的是完善我的代码,这样当有人点击第二个链接时,它会自动清除前一个链接 任何人都可以在下面的

最近我正在做一个项目,不使用flash为商场制作一个交互式目录地图,因为他们需要通过移动设备访问

但我对jquery有意见,我使用带有jquery映射高亮显示的自定义java命令。我用它来对付我的马库德人

方法在有人单击地图或下面的列表时调用,它将突出显示地图,并在右侧显示信息

我的问题是,当有人从列表或地图中单击另一家商店时,它不会清除上一个高亮显示的块,而上一个块会一直高亮显示,无论你单击多少次

我需要的是完善我的代码,这样当有人点击第二个链接时,它会自动清除前一个链接

任何人都可以在下面的链接下看到我的演示文件


如果有人能帮我解决这个问题,我将不胜感激。问题是,在单击另一个区域时,您没有关闭当前选定区域的突出显示

放置此:

$('.selected').data('maphilight', {alwaysOn: false}).trigger('alwaysOn.maphilight');
在salhia.js的.mapclick处理程序中:

$('.mapclick').click(function(){
    $('.selected').data('maphilight', {alwaysOn: false}).trigger('alwaysOn.maphilight');

    $('.mapclick').removeClass('selected');
    $(this).addClass('selected');

    var shop = '.shopdetails#' + $(this).attr('shop');
    var htmlCode = $(shop).html();

    $('.shopinfo').fadeOut(500, function(){
        $('.shopinfo .shopdetails').html(htmlCode);
        $('.shopinfo').fadeIn(500);
    });
});

将上一个答案中显示的代码稍作更改,使其更通用:

// Init
$('.map').maphilight({
       stroke: false,               
}); 

// Reset all map

$('.selected').data('maphilight', {alwaysOn:false}).trigger('alwaysOn.maphilight'); 

$('area').click(function(){    
    // Reset all areas with class 'selected'
    $('.selected').data('maphilight', {alwaysOn: false}).trigger('alwaysOn.maphilight');
    // Remove class selected
    $('area').removeClass('selected');
    // select and highlight this area
    $(this).addClass('selected');
    $(this).data('maphilight', {alwaysOn: true}).trigger('alwaysOn.maphilight');
});

这与Java无关,只是JavascriptWelcome to Stackoverflow。。这是一个面向程序员的问答网站-请花一些时间阅读-包括一些突出问题的代码的问题会得到更好的回答Dear Socha,感谢您的回答,我将您的代码放在了.mapclick handler上,但仍然不起作用,我对java脚本非常熟悉,如果你能用你的编辑版本复制我的脚本,那就太好了。亲爱的Socha,再次感谢你的快速回复,但我开始发现我的问题所在,我有一个名为selected hooked to a mapclick的类,但问题是hilight选项来自jquery.maphilight.js文件,我的css不会影响地图上的select状态,这与您在2$'.mapclick'.removeClass'selected'之前提供给我的上述代码不起作用$此.addClass为“已选择”;在这种情况下,我输入的js代码是无用的。如果您有任何其他想法,我将不胜感激。@user1083175是的,所选类不会更改jquery.maphilight.js放置的突出显示。不过,您可以在jquery选择器中使用它来选择以前单击过的商店,并删除它的“alwaysOn”选项——这就是我的代码所做的。你试过了吗?亲爱的Socha,我使用的代码与你给我的代码相同,但仍然是当我选择第一个时,我选择了第二个。第一个1仍然被选择。当我单击第二个时,它不会被删除,如果我向您发送完整的源文件,您是否能够查看该问题。@user1083175,我已与您的演示源进行了核对,它对我有效。不知道我还能帮什么忙。