我有一个谷歌地图上有一堆标记。我还有一个相应的侧边栏列出了那些标记。单击其中一个时,地图上相应的标记将打开信息窗口。这非常有效。
当您点击侧边栏中的其中一个链接时,我想添加一个'反弹'因此它变得明显是主动/开放链接。同样,如果我单击地图上的标记,我希望将相同的类添加到列表项中。当点击另一个标记或链接时,我希望该类移动最新的点击项目。
我的地图代码有一个jsFiddle:http://jsfiddle.net/3xkuybrf/2/
我在下面的所有代码都是在第一个点击的链接中添加一个类,并没有做我想要的。我想在活动/打开链接/标记中添加一个类,当单击另一个链接/标记时,我希望删除该类并将其添加到最新点击的项目中:
$(document).on('click', '#p'+index, function(){
infowindow.open(map, marker);
map.setCenter(marker.getPosition());
if ($('#listdata li').hasClass('bounce')) {
$(this).removeClass( "bounce" );
} else {
$(this).addClass( "bounce" );
}
});
我做错了什么?
答案 0 :(得分:0)
以下是工作演示:http://jsfiddle.net/silpa/3xkuybrf/6/
替换以下行:
if ($('#listdata li').hasClass('bounce')) {
$(this).removeClass( "bounce" );
} else {
$(this).addClass( "bounce" );
}
以下行:
$('#p'+index).addClass('bounce').siblings().removeClass('bounce');
上面的代码行在你单击div时添加了类,下面的代码在你标记标记时将类添加到相关的div:
google.maps.event.addListener(marker, 'click', function() {
$('#p'+index).addClass('bounce').siblings().removeClass('bounce');
infowindow.open( map, marker );
});
答案 1 :(得分:0)
只需将您的if
语句替换为以下两行:
$('#listdata div').removeClass("bounce");
$(this).addClass("bounce");
这样做:将退回课程移至所有#listdata div
并将其添加到当前元素。