使用linkObj的SetInterval

时间:2013-06-29 19:09:32

标签: javascript jquery setinterval

使用这段代码,我希望在我徘徊在.cell-top时,每秒都会看到一个'yo'添加到控制台。但我得到一个'哟'就是这样。

function cellUp(linkObj) {
    console.log('yo');
}
$(".cell-top").hover(function() {
    setInterval(cellUp($(this)), 1000);
});

知道如何才能达到预期的效果吗?

PS。我正在使用linkObj在cellDown中的函数中获取$(this),我没有包含该函数,因为这与我遇到的问题无关。我确实包含了linkObj,因为我认为它可能是问题的一部分。

2 个答案:

答案 0 :(得分:3)

由于您使用的是jQuery,因此可以使用$.proxy

$(".cell-top").hover(function() {
    setInterval($.proxy(cellUp, null, $(this)), 1000);
});

答案 1 :(得分:2)

var interval;
function cellUp(linkObj) {
    console.log(linkObj);
}
$(".cell-top").hover(function() {
    var self = this;
    interval = setInterval(function(){cellUp($(self))}, 1000);
},function() {
    clearInterval(interval);
});