gpt4 book ai didi

javascript - if else 条件的问题

转载 作者:行者123 更新时间:2023-11-28 04:23:26 24 4
gpt4 key购买 nike

当页面打开时,它会自动设置执行任务的超时时间。我想要的是在事件发生时更改时间。如果用户单击按钮,则会在单击后立即更改时间。

如果用户不执行任何操作,页面应在给定时间后自动刷新,如果用户单击“#b1”,则应中断初始超时并以其他时间设置开始新的超时

我已经尝试了前面的代码,但它只执行最后一个警报。我怎样才能做到这一点?

var clicked = 0;
var time = '';

$('#b1').click(function() {
clicked = 1;
});

if (clicked == 1) {
time = 10;
setTimeout(function() {
alert('clicked');
}, time);
} else {
time = 10000;
setTimeout(function() {
alert('nothingDone');
}, time);
}

最佳答案

定义一个全局变量,其中setTimeout为值,如果用户点击#b1元素,则以变量为参数调用clearTimeout(),然后将变量设置为事件处理程序中的 setTimeout() 调用

$(function() {

var clicked = 0;
var time = '';
var timer;

function updateTimer() {
time = 10;
timer = setTimeout(function() {
alert('clicked');
}, time);
}

$('#b1').click(function() {
clicked = 1;
clearTimeout(timer);
updateTimer()
});

if (clicked == 1) {
updateTimer()
} else {
time = 10000;
timer = setTimeout(function() {
alert('nothingDone');
}, time);
}

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="b1">click</div>

关于javascript - if else 条件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45259973/

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