我正在寻找一种解决方案,如果元素具有active class,是否可以将onclick值更改为“ closeSideBar”?



function openSidebar() {
  document.getElementById('sidebar').style.width = '250px';
  document.getElementById('hamburger').style.marginLeft = '250px'
}

function closeSideBar() {
  document.getElementById('sidebar').style.width = '0';
  document.getElementById('hamburger').style.marginLeft = '0'
}

<button id="hamburger" onclick="openSidebar()">





我正在寻找解决方案,该如何获得此结果?

<button id="hamburger" onclick="closeSideBar()" class="active">

最佳答案

我认为您只需要一个功能toggleSidebar

function toggleSidebar() {
  const isActive = document.getElementById('hamburger').classList.contains('active');
  if (isActive) {
    closeSideBar();
  } else {
    openSidebar();
  }
}

function openSidebar() {
  document.getElementById('sidebar').style.width = '250px';
  document.getElementById('hamburger').style.marginLeft = '250px';
}

function closeSideBar() {
  document.getElementById('sidebar').style.width = '0';
  document.getElementById('hamburger').style.marginLeft = '0';
}

关于javascript - 如果元素具有特定的类,如何更改onclick属性的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60325332/

10-11 03:53