Javascript 多次执行按钮中的单击功能
在执行整个用户详细信息的while循环内部,当我单击按钮时,用户的id将传递给while循环外部的函数。问题是,当我点击按钮时,值应该每10秒或5秒传递一次,但在下面的代码中,当我第一次点击时,它的执行非常完美,但当我第二次或第三次点击时,它的执行值是第一次、第二次、第三次等等,如果我有任何错误,请纠正我或其他任何逻辑Javascript 多次执行按钮中的单击功能,javascript,php,html,Javascript,Php,Html,在执行整个用户详细信息的while循环内部,当我单击按钮时,用户的id将传递给while循环外部的函数。问题是,当我点击按钮时,值应该每10秒或5秒传递一次,但在下面的代码中,当我第一次点击时,它的执行非常完美,但当我第二次或第三次点击时,它的执行值是第一次、第二次、第三次等等,如果我有任何错误,请纠正我或其他任何逻辑 <?php include("database/connect.php"); $q = mysqli_query($con, "select * from tbl_use
<?php
include("database/connect.php");
$q = mysqli_query($con, "select * from tbl_user");
while ($f = mysqli_fetch_array($q)) { ?>
<input type="button" name="ch" value="<?= $f['id'] ?>" onclick="fcc(<?= $f['id']?>)"/><br>
<?php } ?>
<script>
function fcc(cc) {
setInterval(function() {
alert(cc);
}, 3000);
}
</script>
将间隔计时器指定给全局变量,并在启动新计时器时停止旧计时器
var timer;
function fcc(cc) {
clearInterval(timer);
timer = setInterval(function() {
alert(cc);
}, 3000);
}
在开始新的间隔之前,应清除间隔
ES6:
{
让间隔;
功能fcc(cc){
间隔时间;
interval=setInterval(fcc.callback.bind({},[cc]),1000);
}
window.fcc=fcc;
}
fcc.callback=函数myAlert(m){
控制台日志(m)
}
3000是3秒?setInterval
第一次、第二次和第n次单击时,每3秒无限执行一次该代码。每次单击都会启动另一个重复警报,但不会停止旧警报。为什么使用setInterval
here@Barmar如何阻止老家伙你能帮忙吗谢谢,它帮助了很多人:)