javascript - 将 if 语句变成循环

标签 javascript jquery

我有 3 个图表需要重新绘制。

这是我必须执行的代码:

var arrOfChartContainers = ["TopLeft","TopRight","BottomLeft"];


var myAutoRefresh = setInterval(function(){
    if($("#TopLeft_chartConfig").css("display")==="none"){
        drawChart("TopLeft");
    }else{
        clearInterval(myAutoRefresh);
    }
},3000);

我不想再复制两次并重新绘制其他两个图表。如果我想在一个时间间隔内同时执行这三个操作,如何循环浏览我的图表?

最佳答案

使用$.each :

$.each(arrOfChartContainers, function(index, entry) {
    $("#" + entry + "_chartConfig").doSomethingWithItHere();
});

例如:

$.each(arrOfChartContainers, function(index, entry) {
    var $chart = $("#" + entry + "_chartConfig");
    if ($chart.css("display") === "none") {
        drawChart(entry);
    }
});

可能值得更改 drawChart 以直接接受 jQuery 对象,而不是间接使用名称。

关于javascript - 将 if 语句变成循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18787570/

相关文章:

javascript - 基于鼠标输入方向的JS动画

javascript - symfony twig javascript函数未定义

Javascript 赋值运算符奇怪的行为

jquery - 使用 jquery 插入表行后无法绑定(bind)值

javascript - 通过对象初始化可观察对象

javascript - 选项中包含数据的自定义标签

javascript - 使用 javascript 输入时缩小项目列表

javascript - 函数声明不应放在 block 中

javascript - 在用户点击 "Leave this Page"之后浏览器关闭之前做一些事情

javascript - 当存在多个元素时,单击一次更新值