简单 setInterval 函数中的语法错误

SyntaxError within simple setInterval function

本文关键字:语法 错误 setInterval 函数 简单      更新时间:2023-09-26

我想在 2 秒循环中开始在鼠标悬停时更改div 的背景颜色所以 html 代码:

<div onmousemove="start_loop(this)"></div>

和JavaScript函数:

function start_loop(theDiv) {
    ms = setInterval("changeBg("+theDiv+")", 2000);
}

但是我收到此错误:

SyntaxError: missing ] after element list
start_loop([object HTMLDivElement])
theDiv不是

字符串,它是一个DOM元素,因此使用字符串连接不会做任何有用的事情。尝试:

var ms;
function start_loop(theDiv) {
    if (!ms) {
        ms = setInterval(function() {
            changeBg(theDiv);
            }, 2000);
    }
}

您可以在 setInterval 中使用匿名函数。

functionstart_loop(param){
//some code
}
 ms=setInterval( function() { loop(param) }, 2000);