我正在尝试创建一个功能,当您将鼠标悬停在某个对象上时,另一个对象将开始连续移动,直到您将鼠标悬停为止。由于我的代码中的某些原因,它会在前10个像素后停止,这就是

http://jsfiddle.net/JoshuaWaheed/7df29/

$("a").mouseover(function(){

    $("div").animate({

        "margin-left": "+=" + 10 + "px"

    });

});

仅在鼠标悬停时如何使它连续运行?

最佳答案

不要使用.animate,因为它不是为此设计的。您可以通过在setInterval循环中更改CSS来自己移动它:

$("a").mouseover(function () {
    // store the interval ID on the DOM element itself
    $(this).data('tc', setInterval(function () {
        $("div").css({
            "margin-left": "+=1"
        });
    }, 20) // milliseconds
    );
});
$("a").mouseout(function () {
    // clear the interval ID
    clearInterval($(this).data('tc'));
});

http://jsfiddle.net/mblase75/5QJTT/

关于javascript - 鼠标悬停时无限 move 对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24678695/

10-15 16:24