2011-08-09 6 views

答えて

1

"mouseover"へのハンドラとして無名関数を渡す必要があります。それ以外の場合、JavascriptはclearIntervalからの戻り値(この場合は整数)を評価して呼び出します。次のコードは動作します:

YUI().use("console", "console-filters", "substitute", "node-event-simulate", 
    function(Y) { 
    console.log("YUI is ready"); 

    var doSomething = function(e) { 
     Y.one("#seconds").append("<p>I am number four</p>"); 
    }; 

    IntervalId = setInterval(doSomething, 1000); 
    //Notice the anonymous function below: 
    Y.one("#clearInt").on('mouseover', function() { clearInterval(IntervalId) }); 
}); 

ここであなたのJSBin、ftfyです。楽しい!

+0

IntervalId = setInterval(doSomething、1000)を使用しています。それが動作していない場合、およびid [setInterval(doSomething、1000);]なしで使用している場合はその動作。なぜそうなのか? –

+0

更新した[JSBin](http://jsbin.com/awadek/11)を見ましたか?それはInternalIdと無名関数でうまく動作しているようです。 IntervalIDにもとづいて元の例が動作するかどうかはより複雑な質問です(整数オブジェクトと未定義オブジェクトを呼び出す*と関係しています)。 – ghayes

関連する問題