Javascript 多次执行按钮中的单击功能

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

在执行整个用户详细信息的while循环内部,当我单击按钮时,用户的id将传递给while循环外部的函数。问题是,当我点击按钮时,值应该每10秒或5秒传递一次,但在下面的代码中,当我第一次点击时,它的执行非常完美,但当我第二次或第三次点击时,它的执行值是第一次、第二次、第三次等等,如果我有任何错误,请纠正我或其他任何逻辑

<?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如何阻止老家伙你能帮忙吗谢谢,它帮助了很多人:)