setInterval函数只调用一半

时间:2014-01-28 10:26:40

标签: javascript

为什么我的Interval没有调用函数dauerrotieren()
它将字符串附加到html div,因此Interval正在运行。

var i = 180;

function dauerrotieren(){
    $("#bannerrotater").css({"transform":"rotateX(" + i + "deg)"});
    i += 180;
    alert(1);
}
var run = setInterval('$("#test").append("1231312"); dauerrotieren()', 1000);

3 个答案:

答案 0 :(得分:3)

提供函数而不是String作为函数的第一个参数:

var run = setInterval(function(){
    $("#test").append("1231312"); 
    dauerrotieren();
}, 1000);

答案 1 :(得分:1)

SetInterval方法第一个参数应该起作用,所以试试这个。

var run = setInterval(function(){
 $("#test").append("1231312"); 
dauerrotieren();
}, 1000);

答案 2 :(得分:0)

最好使用闭包,从而将函数而不是字符串传递给 setInterval 。 这样可以获得更正确的语法,并获得奖励:

  • 更容易下沉
  • 语法高亮显示
  • 可重复使用

所以喜欢:

var run = setInterval(function(){
   $("#test").append("1231312"); 
  dauerrotieren();
}, 1000);

或者也许:

function doSomething() {
   $("#test").append("1231312"); 
   dauerrotieren();
}
var run = setInterval(doSomething, 1000);