“永远在线”jquery命令

最近,我正在开发一个项目,为商城制作交互式目录地图而不使用闪存,因为他们需要从移动设备访问。

但我有jquery的问题,我正在使用jquery map highlight的自定义java命令。 我用它来瞄准我的地图。

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

我的问题是当有人点击列表中的另一个商店或从地图上点击时,它不会清除上一个突出显示的块,而前一个突出显示的块,无论你点击多少次都没关系。

我需要的是优化我的代码,以便当有人点击第二个链接时它将自动清除前一个。

任何人都可以在下面链接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'); });