鼠标悬停/悬停时暂停动画

时间:2012-01-27 17:25:41

标签: javascript jquery hover mouseover

我制作了一个jQuery脚本,它将滚动一个UL列表,问题是如果列表中的当前项目悬停,我希望它暂停动画。

我有一个定时器,每秒调用我的自动收报机功能,以及用新项目更新列表的更新功能,我没有包含那个,因为它与动画没有任何关系。

// Initiate a call to ticker every 1second
    var tickerUpdateTimer = setInterval('ticker()', 1000);

股票代码功能使用jQuery UI幻灯片功能

function ticker() {
    if ($('ul#ticker li:first').length == 0)
        tickerUpdate();

        $.when(tickerSlideIn()).then(tickerSlideOut());
}

function tickerSlideIn() {
    $('ul#ticker li:first').show("slide", { direction: "down" }, tickerSpeed).delay(tickerPause);
}

function tickerSlideOut() {
    $('ul#ticker li:first').hide("slide", { direction: "up" }, tickerSpeed, function() {$(this).remove();});
}

我希望有人可以帮我改写我的功能,暂停悬停/鼠标悬停,谢谢。

1 个答案:

答案 0 :(得分:0)

你可以在没有任何插件的情况下完成:

 var tickerUpdateTimer = setInterval('ticker()', 1000), paused = false;

 $('ul#ticker').hover(function(){ paused = true; }, 
                      function(){ paused = false; }); 

 function ticker() {

    if (paused) return;

    if ($('ul#ticker li:first').length == 0)
        tickerUpdate();

        $.when(tickerSlideIn()).then(tickerSlideOut());
 }