永远开着"jquery命令

"Always on " jquery command

本文关键字:jquery 命令 quot 永远      更新时间:2023-09-26

最近我正在做一个项目,为一个购物中心制作一个不使用flash的交互式目录地图,因为他们需要从移动设备访问。

,但我有jquery的问题,我使用自定义Java命令与jquery地图突出显示。我用它来定位我的地图坐标。

当有人单击地图或下面的列表时调用

方法,它将突出显示地图并在右侧显示信息。

我的问题是,当有人从列表或从地图点击另一个商店,它不会清除之前突出显示的块和前一个继续突出显示,不管你点击多少次。

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

任何人都可以看到我的演示文件下面的链接http://www.pad10.com/testsities/directorymap/

如果有人能帮我,我会很感激的

问题是当你点击另一个区域时,你不会关闭当前选中区域的高亮显示。

的地方:

$('.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');
});