如何在没有按钮的情况下停止javascript中的setinterval函数

how to stop the setinterval function in javascript without button

本文关键字:javascript 中的 函数 setinterval 情况下 按钮      更新时间:2023-09-26

我正在通过javascript读取Excel文件。。

<button onclick="myStopFunction()">Stop Meter</button>
        var myVar=setInterval(function(){readdata(1,2)},2000);
function myStopFunction()
{
    clearInterval(myVar);
}

读取excel文件的代码

var xVal = 1;
var yVal = 2
    function readdata(x,y) {
        x = xVal;
        y = yVal;
        try {
            var excel = new ActiveXObject("Excel.Application");
            excel.Visible = false;
            var excel_file = excel.Workbooks.Open("D:''Test1.xls");// alert(excel_file.worksheets.count);
            var excel_sheet = excel_file.Worksheets("Sheet1");
            var data = excel_sheet.Cells(x, y).Value;
            //alert(data);
            drawWithexcelValue(data);
            xVal = xVal + 1;
            excel.Application.Quit();
        }
        catch (ex) {
            alert(ex);
        }
    }

现在,我想以这样一种方式摆脱停止表,即当excel值为空或为零时,它将退出。。如何做到这一点我试过一些类似的东西

 if(xVal==null& xVal=="")
    {
    clearInterval(myVar);
    }

但我没有成功

试试这个:

xVal = xVal + 1;
if (data === null || data === '') {
   myStopFunction();
}
excel.Application.Quit();

即在xVal...excel...行之间添加if(){}

实际上,看起来你需要检查datadrawWithexcelValue(data);行之前是否有值,除非你不想"画"一个空/null值。

应该是:

if(xVal==null || xVal=="")
{
    clearInterval(myVar);
}

&binary AND,您需要boolean OR,也就是||