有没有办法在按钮上的2 onclick上分配2个单独的功能?

时间:2019-01-23 11:29:55

标签: javascript html css animation button

我想: 第一次点击播放动画,然后 再次单击同一按钮停止它。 谢谢。

2 个答案:

答案 0 :(得分:0)

这是使用闭包的最简单的解决方案,您应该详细了解closures的工作方式。

function generateMyStatefullFunction(){
  var someState = false;
  
  return function theActualFunctionThatDoesThings(){
    if (someState){
      console.log("State will be set to false, next click wont trigger this message");
    }
    someState = !someState;
  }
}

var onClickHandler = generateMyStatefullFunction();

document.getElementById("button").addEventListener('click', onClickHandler);
<button id="button"> Fire every second click</button>

答案 1 :(得分:-1)

您可以这样做

function performAction(event){
  
  var button = event.currentTarget;
  var action = button.innerHTML;

  if(action == "Play"){
  
     button.innerHTML = "Stop"
    //play animation
    
   
  } else {
    button.innerHTML = "Play"
    //stop animation
  }
  
}
<div>
  <button  onclick="performAction(event)" >Play</button>
</div>