我想在单击按钮后为按钮添加一个类,以制作小型动画。目前,我有问题,我收到此信息:


  未捕获的TypeError:无法读取未定义的属性“ add”


我无法添加新课程,有人可以帮助我吗?



function animateClick(ID) {
  var elmnt = document.getElementById(ID);
  var todo = this;
  todo.classList.add("rotate");
  setTimeout(
    function() {
      elmnt.scrollIntoView({
        behavior: 'smooth'
      });
    }, 500
  );
}

<div class="nav-icons-img">
  <button onclick="animateClick('welcome')">
    <img src="data:image/svg+xml;utf..." />
    <span class="tooltiptext1">
     Welcome Text
    </span>
  </button>
</div>

最佳答案

您可以使用addEventListener代替onclick,因为单独的逻辑是一个好习惯。
您可以通过发送this作为参数来明确指示按钮。



function animateClick(ID, btn) {
var elmnt = document.getElementById(ID);
var todo = btn;
todo.classList.add("rotate");
setTimeout(
    function() {
        elmnt.scrollIntoView({behavior: 'smooth'});
    }, 500
);}

<div class="nav-icons-img">
 <button onclick="animateClick('welcome', this)">
  <img src="data:image/svg+xml;utf..." />
    <span class="tooltiptext1">
     Welcome Text
    </span>
   </button>
</div>

10-05 20:45
查看更多