0

使用此代码,当我将鼠标悬停在 .cell-top 上时,我希望每秒都会看到一个“哟”添加到控制台。但我得到一个“哟”,就是这样。

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

知道我可以做些什么来获得预期的结果吗?

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

4

2 回答 2

3

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

$(".cell-top").hover(function() {
    setInterval($.proxy(cellUp, null, $(this)), 1000);
});
于 2013-06-29T19:16:34.457 回答
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);
});
于 2013-06-29T19:12:01.290 回答