jQuery / javascript和setInterval在mouseenter中无法正常工作

时间:2011-03-24 01:10:43

标签: javascript jquery

好的,基本上我正在实现一个简单的水平滚动条。当我将鼠标移动到正确的div但只有一次并且在间隔时间之后不保持循环时,该函数被触发。任何帮助表示赞赏:

$(document).ready(function() {
    $('#toparrow').mouseenter(function(e) {
        var func = scrollroller(1);
        setInterval(func,1);
    }).mouseleave(function() {

    });

    function scrollroller(velocity) {
        $('#roller').animate({left:'+='+velocity},1);
    }
});

2 个答案:

答案 0 :(得分:2)

var func = function(){ scrollroller(1); };

答案 1 :(得分:0)

问题在于这一行:

var func = scrollroller(1);

这不是将scrollroller函数分配给func,而是使用参数“1”调用scrollroller()并将结果存储在func中。你可能想做类似的事情:

setInterval("scrollroller(1);",1);  //alternately:  setInterval(scrollroller,1,1);

请注意,备用语法可能包含issues in IE