Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击标记时激活传单侧边栏div,反之亦然_Javascript_Jquery_Map_Leaflet - Fatal编程技术网

Javascript 单击标记时激活传单侧边栏div,反之亦然

Javascript 单击标记时激活传单侧边栏div,反之亦然,javascript,jquery,map,leaflet,Javascript,Jquery,Map,Leaflet,单击标记时,将div元素更改为活动的最佳方法是什么 当您有几十个或数百个标记时,如何执行此操作 例如,当您单击传单地图上的标记时,如何使其相关的边栏元素处于活动状态 我可以写sudo代码,但我缺少一些片段 markers on click $(#sidebar div) make (related) li element active 基本上,我试图模仿很多地图目录网站,比如Yelp或Foursquare。单击侧边栏列表项,标记将变为活动状态,反之亦然。这使得它成为一个用户,可以阅读有关

单击标记时,将div元素更改为活动的最佳方法是什么

当您有几十个或数百个标记时,如何执行此操作

例如,当您单击传单地图上的标记时,如何使其相关的边栏元素处于活动状态

我可以写sudo代码,但我缺少一些片段

markers on click
$(#sidebar div)
   make (related) li element active
基本上,我试图模仿很多地图目录网站,比如Yelp或Foursquare。单击侧边栏列表项,标记将变为活动状态,反之亦然。这使得它成为一个用户,可以阅读有关标记的信息,同时查看位置

Mapbox有一个很酷的(现在已弃用)Foursquare示例。我通读了代码,但几乎没听懂。这就是说,这个例子说明了问题的关键

当您在yelp中将鼠标移到列表项上时,标记变为黑色


这实际上取决于您是如何构建所有内容的,但假设您有地图图钉,以某种方式将引用保留到侧边栏,只需添加一个快速单击处理程序即可。我以前从未对传单做过任何处理,但看起来它们支持标记所需的所有事件:

因此,当您构建每个标记时,只需存储其相应的菜单项,并绑定事件,如下所示

marker.on('mouseover', function () {
    //Write code to adjust the icon
    marker.icon = someNewIcon;

    //Store a ref. to the menu item, and use that ref here to manage the view state
    currentActive.removeClass('active');
    $(this.target).addClass('active');
});

希望这是有帮助的

您应该尝试使用侧边栏插件,它使用起来非常简单。我已经在4000家制造商那里进行了测试,效果非常好

你可以在这里找到它:

这不是一个解决方案。你需要提供一个没有这个插件的解决方案