繁体   English   中英

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

[英]how to stop the setinterval function in javascript without button

我正在通过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值变为空白或为null时,它将退出..如何做到这一点,我已经尝试过类似的事情

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

但是我没有成功

它应该是:

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

&binary AND ,您需要boolean OR ,即||

尝试这个:

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

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

其实它看起来像你需要检查,如果有一个值data之前drawWithexcelValue(data); 行,除非您也不想“绘制”一个空/空值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM