我已經創建了一個小的通用4階段管道,它模擬了提供的時鐘週期。然而,我想暫停它,並在中間恢復它,我無法做到這一點。這是我的FIDDLE,暫停我想添加一個標誌。在JavaScript中暫停計時器
if flag == 1 //keep simulating
if flag == 0 // pause simulation where it is
if flag == 0 and click resume resume simulation until its end
var flag = 1; //initial value
function pause(){
flag = 0;
}
function resume(){
flag = 1;
}
//i try to check if flag is 0 then alert pause or something but no luck
function startSim(){
document.getElementById('clockDiv').innerHTML = 'Clock Period '+clockPeriod;
if(index == 22){
clearInterval(sim);
}else if(flag == 0){
alert("Simulation Paused");
}else{
clockPeriod++;
fetch();
decode();
execute();
store();
index++;
}
}
我會很感激提示如何做到這一點。
你的代碼添加到這個問題,而不是僅僅爲紐帶,另外,如果你只是想暫停,然後檢查你的國旗0的區別在你做任何計算之前,如果沒有,不要做任何事情,直到國旗再次變更 – Icepickle
@Ippickle對不起,我已經添加了我的代碼。我不確定你的意思我正在做你在說什麼 – user1010101
你這裏的問題實際上是你的代碼是如何加載的。如果您檢查控制檯輸出,您將看到單擊暫停時會拋出一個錯誤,指出它找不到方法「暫停」,所以您的標誌不會設置爲0.將它添加到標題中而不是使用onload函數jsfiddle的。你可以通過點擊javascript設置輪,然後選擇包裝在身體或包裝在頭(默認是onload) – Icepickle