Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 单击按钮执行多个操作_Javascript_Jquery_Function_If Statement_Onclick - Fatal编程技术网

Javascript 单击按钮执行多个操作

Javascript 单击按钮执行多个操作,javascript,jquery,function,if-statement,onclick,Javascript,Jquery,Function,If Statement,Onclick,我有以下代码: var hour = parseInt(js_arr[j].substring(0, 1)); var min = parseInt(js_arr[j].substring(3, 4)); var seconds = parseInt(js_arr[j].substring(6, 7)); var mil_sec = parseInt(js_arr[j].substring(9, 11)); var time = (hour * 3600000) + (min * 60000)

我有以下代码:

var hour = parseInt(js_arr[j].substring(0, 1));
var min = parseInt(js_arr[j].substring(3, 4));
var seconds = parseInt(js_arr[j].substring(6, 7));
var mil_sec = parseInt(js_arr[j].substring(9, 11));
var time = (hour * 3600000) + (min * 60000) + (seconds * 1000) + mil_sec;

function timeout() {
    setTimeout(function () {

        if (true) {
            document.getElementById('subs').innerHTML = js_arr[i];
            i = i + 4;
            j = j + 4;
            hour = parseInt(js_arr[j].substring(0, 1));
            min = parseInt(js_arr[j].substring(3, 4));
            seconds = parseInt(js_arr[j].substring(6, 7));
            mil_sec = parseInt(js_arr[j].substring(9, 11));
            time = (hour * 3600000) + (min * 60000) + (seconds * 1000) + mil_sec;

            timeout();
        } else {
            timeout();
        }

    }, time);
}
在javascript代码之前,我有一个
onclick=“timeout();
按钮

这个按钮允许播放字幕。我也希望它能通过点击同一个按钮来阻止这些字幕的播放。如果有人能帮忙,那就太好了


非常感谢。

添加一个指示超时是否处于活动状态的变量。在
timeout()
-函数中,会检查此变量,并且只有当它为真时才会启动另一个循环。要启动和停止,只需设置(并调用
timeout()
)或重置该变量

var hour = parseInt(js_arr[j].substring(0,1));
var min = parseInt(js_arr[j].substring(3,4));
var seconds = parseInt(js_arr[j].substring(6,7));
var mil_sec = parseInt(js_arr[j].substring(9,11));
var time = (hour*3600000)+(min*60000)+(seconds*1000)+mil_sec;

var timeOutRunning = false;

function startTimeOut() {
  timeOutRunning = true;
  timeout();
}

function stopTimeOut() {
  timeOutRunning = false;
}

function timeout() {
  if(timeOutRunning) {
    setTimeout(function() {
      document.getElementById('subs').innerHTML = js_arr[i];
      i=i+4;
      j=j+4;
      hour = parseInt(js_arr[j].substring(0,1));
      min = parseInt(js_arr[j].substring(3,4));
      seconds = parseInt(js_arr[j].substring(6,7));
      mil_sec = parseInt(js_arr[j].substring(9,11));
      time = (hour*3600000)+(min*60000)+(seconds*1000)+mil_sec;

      timeout();
    }, time);
  }
}
然后是onclick函数:

onclick="if(timeOutRunning) { stopTimeOut(); } else { startTimeOut(); }"

所以,您想要在同一个按钮上启动和停止功能?可能切换逻辑会有所帮助?您应该使用if(togglePlayPause!=0 | | togglePlayPause!=1){var togglePlayPause=0;}if(togglePlayPause==0){//play content//togglePlayPause=1;}或者if(togglePlayPause==1){//pause content//togglePlayPause=0;}这段代码看起来很完美,但我想我知道为什么它仍然不起作用。那个按钮不允许我更改它。即使我用按钮删除了这一行,按钮仍然存在。你知道为什么会发生这种情况吗?不,那一定是一个完全无关的问题。你保存了你的文档吗?你是在开发本地文档,但在线查看并放弃了吗t上传它?缓存问题?没关系,它实际上帮助我解决了我遇到的主要问题,非常感谢,你不知道我对这段代码有多高兴!:)