javascript - javascript 中的多任务按钮

标签 javascript

如何在JS中获得多功能按钮?例如: 第一次单击会将按钮向下移动,下一次单击会将其返回到默认位置。

let caoButton = document.querySelector('.js-cao-2');
caoButton.style.position = 'absolute';
caoButton.style.top = '0';
caoButton.style.left = '0';

caoButton.addEventListener('click',() {
caoButton.style.top = 'unset';
caoButton.style.left = 'unset';
caoButton.style.bottom = '0';
caoButton.style.right = '0';
});

最佳答案

同意@charlietfl

let caoButton = document.querySelector('.js-cao-2');

caoButton.addEventListener('click',()=>caoButton.classList.toggle("moveDown"));
.js-cao-2{
  position: absolute;
  top: 0;
  left: 0;
}
.moveDown {
  top: unset;
  left: unset;
  bottom: 0; 
  right: 0;
}
<div style="height: 100vh">
  <button class="js-cao-2" >Move me</button>
</div>

如果您希望做更多的事情而不仅仅是操作 css 并且必须使用 JavaScript,您还可以执行以下操作:

let caoButton = document.querySelector('.js-cao-2');

caoButton.addEventListener('click',firstFunctionality);

function firstFunctionality(){
  caoButton.removeEventListener('click', firstFunctionality)
  caoButton.addEventListener('click',secondFunctionality);
  //do stuff here
}

function secondFunctionality(){
  caoButton.removeEventListener('click', secondFunctionality)
  caoButton.addEventListener('click', firstFunctionality);
  //do something different here
}

关于javascript - javascript 中的多任务按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70559036/

相关文章:

javascript - 在jqPlot中表示具有相等值的多个数据点

javascript - Angular 4 不向服务器发送 cookie

javascript - 匹配不同格式的数字

javascript - 强制浏览器结束当前步骤

javascript - ChartJS 使用 AJAX 调用检索数据未呈现可视化

javascript - 如何确定 JavaScript 中的文件大小?

javascript - HTML5 音乐播放器外部播放按钮

javascript - 视频没有开始播放,而是抛出 DOMException

javascript - Grails-具有多个值的jQuery自动完成

javascript - 尝试根据时间是过去、当前还是 future 来更改背景颜色