2011-08-09 77 views

回答

1

您應該將一個匿名函數作爲處理程序傳遞給「鼠標懸停」。否則,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