javascript - 悬停时停止或暂停自动滚动功能

标签 javascript jquery css

我正在制作旋转木马 here我添加了一个自动滚动功能:

// auto scroll
setInterval(function() {
aux.navigate( 1, $el, $wrapper, settings, cache );
},2000);

不幸的是,它一直在滚动...当悬停在元素上以便能够单击“更多”按钮时,如何暂停或停止自动滚动?

最佳答案

在每个元素的鼠标悬停时设置一个变量,然后在动画和滑动元素之前使用此变量检查 navigate 方法内部。如果鼠标在元素上,则只需从 navigate 方法返回而不执行任何操作。

var mouseOnItem = false;

$('.ca-item').hover(function(){
    mouseOnItem = true;
}, function(){
    mouseOnItem = false;
});

 var aux = {
    // navigates left / right
    navigate: function(dir, $el, $wrapper, opts, cache) {
        if(mouseOnItem)
            return;

        ...
        ...
    }
    ...
    ...  
  } 

工作演示 - http://jsfiddle.net/S83Tp/2/

关于javascript - 悬停时停止或暂停自动滚动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9776842/

相关文章:

javascript - 无法自动从 ng-class 添加/删除类以切换所选选项卡

css - Wordpress 按类别名称应用配色方案

javascript - 如何使用http代理获取请求的正文?

javascript - 阻止 UI 交互的元素

javascript - SQL 查询插入值并显示,无需重新加载页面

javascript - 是否可以阻止 jqGrid 行被选择和/或突出显示?

css - 无法在使用标记中覆盖类属性

javascript - 如何在 Liferay Portlet 类中使用 javascript 警报框?

javascript - 合并字符串中的重复项并用逗号附加它会给出错误的输出

javascript - 显示第1页,直到第2页dom完全创建