Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我有一个js脚本,它应该禁用一个按钮,但是它';它不工作了_Javascript_Css_Button - Fatal编程技术网

Javascript 我有一个js脚本,它应该禁用一个按钮,但是它';它不工作了

Javascript 我有一个js脚本,它应该禁用一个按钮,但是它';它不工作了,javascript,css,button,Javascript,Css,Button,我有一个按钮,可以使图像旋转3秒钟。我希望在旋转过程中禁用该按钮。但这是行不通的。下面是创建旋转的js函数和css类 <script> function spin() { document.getElementById("spin_switch").disabled = true; document.getElementById("image-map").classList.toggle("spi

我有一个按钮,可以使图像旋转3秒钟。我希望在旋转过程中禁用该按钮。但这是行不通的。下面是创建旋转的js函数和css类

   <script>
    function spin() {
      document.getElementById("spin_switch").disabled = true;
      document.getElementById("image-map").classList.toggle("spin");
      setTimeout(stop_spin, 3000);
      document.getElementById("spin_switch").disabled = false;
    }
    function stop_spin() {
      document.getElementById("image-map").classList.toggle("spin");
    }
   </script>
    
   <style>
    .spin {
      transform: rotate(360deg);
      webkit-transform: rotate(360deg);
      overflow: hidden;
      transition-duration: 3s;
      transition-property: transform;
    }
   </style>

函数自旋(){
document.getElementById(“旋转开关”).disabled=true;
document.getElementById(“图像映射”).classList.toggle(“旋转”);
设置超时(停止旋转,3000);
document.getElementById(“旋转开关”).disabled=false;
}
函数stop_spin(){
document.getElementById(“图像映射”).classList.toggle(“旋转”);
}
.旋转{
变换:旋转(360度);
webkit变换:旋转(360度);
溢出:隐藏;
过渡时间:3s;
过渡性质:变换;
}

您必须移动这条线

document.getElementById(“旋转开关”).disabled=false

进入
停止旋转功能:

function spin() {
   document.getElementById("spin_switch").disabled = true;
   document.getElementById("image-map").classList.toggle("spin");
   setTimeout(stop_spin, 3000);
}
function stop_spin() {
   document.getElementById("image-map").classList.toggle("spin");
   document.getElementById("spin_switch").disabled = false;
}

否则,旋转开关将立即再次启用<代码>设置超时
不会停止整个脚本。它只是注册一个回调,在给定的超时过期后执行。

谢谢。我认为document.getElementById(“spin_switch”).disabled=false行在3s setTimeout函数完成后才会运行。这是否回答了您的问题?