javascript - 使用jquery重置每个文档单击的超时
问题描述
我正在努力让计时器在每次交互timeout
时重置。似乎没有工作document
click
。clearTimeout
jQuery:
$(document).click(function(e){
$("#vidBack").hide();
$(".mainer").show();
function stopTimer() {
clearTimeout(timer);
}
var timer = setTimeout(function(){
$(".bury").hide();
$(".mainer").hide();
$("#meetSub").hide();
$("#leaguesSub").hide();
$("#memberSub").hide();
$(".bury").hide();
$("#welcomeSub").show();
$("#vidBack").show();
$("#vida").prop("volume", 0);
}, 10000);
});
解决方案
将您的代码重构为如下所示:
var timer;
function resetTimer() {
if(timer)
clearTimeout(timer);
$("#vidBack").hide();
$(".mainer").show();
timer = setTimeout(function() {
$(".mainer").hide();
$("#vidBack").show();
}, 5000);
}
$(document).click(resetTimer);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="mainer">mainer</div>
<div id="vidBack">vidBack</div>
推荐阅读
- python - 底图类型错误:输入必须是数组、列表、元组或标量
- javascript - 如何使用 Jest/Enzyme 测试去抖功能?
- shopify - shopify api在一次调用中发布多个变体图像
- c# - 如何在 C# 中清除图片框?我尝试将属性设置为 null 但它不起作用
- clojure - 如何让 clojure 生成这个简单的 YAML 文件?
- bit-manipulation - 重新思考 DB 按位比较
- javascript - 使用 JQuery 透视 JSON 对象
- python - Python:如何从“.cert”文件中提取公钥?
- single-sign-on - 如果身份是不同的电子邮件,则将 UPN 作为 NameIDd 传递
- javascript - 如何在反应中将函数传递给另一个组件