gpt4 book ai didi

javascript - 多次悬停序列后 JQuery setInterval 不起作用

转载 作者:行者123 更新时间:2023-12-02 23:19:27 25 4
gpt4 key购买 nike

我正在尝试模拟幻灯片演示文稿的页脚。这就是代码

$(function() {
$('.presentation').on({
mouseleave: function() {
setInterval(function () {
if(!$("input").is(":focus") && !$(".presentation:hover").length > 0 && !$('.bp-controls').hasClass('show')){
$('.bp-controls').fadeOut();
$('.bp-controls').removeClass('show');
}
}, 4000);
},
mouseenter: function() {
$('.bp-controls').fadeTo(500, 1, function() {
// Animation complete.
$('.bp-controls').addClass('show');
});
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="presentation">
<img src="Main.png" width="50%">
<div class="bp-controls"><input type="number" pattern="[0-9]*"></div>
</div>

我不明白为什么 setInterval 第一次工作,也许在文档准备好后第二次工作,但后来就不再工作了。

最佳答案

您正在添加多个间隔。当你离开时,你需要清理。也应该超时,我怀疑你想继续触发它。

$('.presentation').on({
mouseleave: function() {
this.timer = setTimeout(function () {}, 4000);
},
mouseenter: function() {
if (this.timer) window.clearTimeout(this.timer)
}
});

关于javascript - 多次悬停序列后 JQuery setInterval 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57010076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com