这个javascript眨眼代码的任何原因都无法奏效?

时间:2014-05-27 05:21:51

标签: javascript jquery

我在网络应用程序的两个js文件中的第二个中有以下代码。

它工作正常,直到我将两个js文件合并为一个。然后js休息。

function oBlink()
{ 
return window.setInterval
( 
    function()
    {
        $("#sOr").css("background-color", function (){ this.switch = !this.switch; return this.switch ? "#F90" : ""  });    
    }
    , 500 
);
}

我已将问题隔离到代码

this.switch = !this.switch; return this.switch ? "#F90" : ""

如果我把它拿出来,其余的js工作正常。

我知道有很多外部变量可以在这里发挥作用,但我只是想和你们一起检查上面的功能代码是否有任何错误。

谢谢你看看。

2 个答案:

答案 0 :(得分:3)

  

它在浏览器中运行良好,但在Android模拟器中的某些设备上检查时失败。

这可能是因为您在代码中使用switch这是JavaScript中的保留字。只有基于ECMAScript5的浏览器允许使用reserved words作为对象的属性。

您可以声明CSS类并使用jQuery的toggleClass方法,而不是使用标志。

答案 1 :(得分:-2)

确保定义某处

  

switch = false

然后尝试

  

$(“#sOr”)。css(“background-color”,function(){this.switch =   !this.switch; return(this.switch?“#F90”:“#FFF”)});