【问题标题】:Continue executing the function继续执行函数
【发布时间】:2014-06-13 18:09:19
【问题描述】:

当您将鼠标悬停在按钮上时,我调整了一个 jQuery / Slide 来执行该功能,到目前为止一切正常。现在我们只需要鼠标悬停在按钮上继续运行函数,而不是只运行1次。

<script type='text/javascript'>
$(window).load(function(){
$(document).ready(function() {
$('#next-column').mouseenter(function(next) {
    event.preventDefault();
    $('.table-container').animate({scrollLeft:'+=438'}, 'slow');
});
$('#previous-column').mouseenter(function(prev) {
    event.preventDefault();
    $('.table-container').animate({scrollLeft:'-=438'}, 'slow');        
});
});
});
</script>

<a id="previous-column" href="#"><img src="images/b-prev.png"></a>
<a id="next-column" href="#"><img src="images/b-next.png"></a>

有人可以帮忙吗?我正在谷歌搜索,但还没有找到如何做到这一点。 感谢您的关注。

【问题讨论】:

  • 请附上您的代码jsFiddle 以证明您的问题。另外,您将$(document).ready() 包装在$(window).load() 中是否有原因?
  • 代码有问题,我只想在鼠标为按钮的情况下继续执行代码,目前只运行1次。谢谢。
  • 我希望在 Jquery 中单击 Next 时连续执行以浏览页面。

标签: jquery slide mouseenter continue


【解决方案1】:

只需为 mouseenter 事件添加超时并像这样为 scrollLeft 或 scrollRight 循环

var timeout;

$(document).ready(function() {
    $('#next-column').hover(function(event) {
        event.preventDefault();
        scrollLeft()
    }, function () {
        clearTimeout(timeout)
    });
    $('#previous-column').hover(function(event) {
        event.preventDefault();
        scrollRight()
    }, function () {
        clearTimeout(timeout)
    });
});

function scrollLeft() {
    $('.table-container').animate({scrollLeft:'+=152'}, 'slow');
    timeout = setTimeout(function(){scrollLeft()}, 1000)
}
function scrollRight() {
    $('.table-container').animate({scrollLeft:'-=152'}, 'slow');
    timeout = setTimeout(function(){scrollRight()}, 1000)
}

编辑

这是正确的:JSFIDDLE,我才明白为什么它只出现到 5 行,因为我忘记更改 css,它现在应该可以正常工作了

【讨论】:

  • 奇怪的是,你的代码只工作了 2 次,然后只通过了幻灯片。
  • 你能用“只有2次然后只通过幻灯片”来解释一下吗
  • 不能停止,必须继续放映幻灯片。看到您的代码有 10 个 div,但是当鼠标单击 Next 时,只显示 2 张幻灯片。
  • 如果您的问题得到解决,请标记为您接受的答案,以便其他有相同问题的人知道该怎么做:)
  • 还有一个问题,我如何回到原来的状态而不是鼠标悬停点击?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多