切换传单边栏V2

时间:2016-04-26 09:34:02

标签: javascript leaflet mapbox sidebar

所以我真的很喜欢使用这个侧边栏,但是要争取切换边栏或至少阅读侧边栏状态,所以.open()或.close()也可以。版本1允许siderbar.toggle(); - https://github.com/Turbo87/leaflet-sidebar

似乎无法在版本2上找到它 - https://github.com/Turbo87/sidebar-v2

1 个答案:

答案 0 :(得分:0)

插件在折叠时将collapsed类添加到侧边栏,因此您可以使用它来检查其状态。借用this answer中的函数来检查元素是否具有特定类(并假设您的侧栏div具有标识sidebar),您可以像这样切换它:

var sidebar = L.control.sidebar('sidebar').addTo(map);
var sidebarDiv = document.getElementById('sidebar');

toggleSidebar = function() {
  if (hasClass(sidebarDiv,'collapsed')) {
    sidebar.open();
  } else {
    sidebar.close();
  }
}

function hasClass(element, cls) {
  return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}

示例小提琴:

http://fiddle.jshell.net/nathansnider/gpqbvs50/