未捕获的SyntaxError:意外的输入结束 - Javascript错误

时间:2012-02-01 08:53:56

标签: javascript

当我尝试在Chrome 16.0.912.77 m中调用此函数时出现此错误:

function fade(e){
    if(op > 0){
        op -= 0.01;
        document.getElementById(e).style.opacity = op;
        window.setTimeout("fade(\""+e+")\"", 10);
    }
}

这是一个简单的功能,可以淡化页面上的元素。 我读到错误出现在我忘记了一个} -bracket,但我关闭了所有..

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

window.setTimeout("fade(\""+e+"\")", 10);

您有结束引号和结束括号。

答案 1 :(得分:1)

如果您在自己喜欢的JavaScript控制台中进行检查:

var e = "foo";
alert("fade(\""+e+")\"");

......你会看到这个:

fade("foo)"

使用JavaScript支持单引号和双引号这一事实:

var e = "foo";
alert('fade("' + e+ '")');

或者,更好的是,使用函数引用而不是字符串调用setTimeout()(在链接页面中查找一些示例)。