gpt4 book ai didi

javascript - 一页上有多个计时器

转载 作者:行者123 更新时间:2023-12-03 10:01:03 25 4
gpt4 key购买 nike

所以我一直在尝试各种解决方案,但一整天都没有运气,因为我的 JS 能力不强:(

这是主脚本,我可以运行它

<script>
var cdown;
function startCount()
{
cdown = setInterval(count, 1000);
}
function count()
{
var do_wait = Math.ceil(4*Math.random());
if (do_wait == 4) {
var rand_no = Math.ceil(3*Math.random());
var el = document.getElementById('counter');
var currentNumber = parseFloat(el.innerHTML);
var newNumber = currentNumber - rand_no;
if (newNumber > 0) {
el.innerHTML = newNumber;
} else {
el.innerHTML = "Sold Out";
}
}
}
</script>

在 body 里我这样调用它

<body onLoad="startCount();">

一切正常,在页面中我有用于显示的代码

<span id="counter">181</span>

因此,当我加载 body 时,计数器开始倒计时,但是当我尝试添加另一个计数器时,例如

<span id="counter">181</span></span>
<span id="counter">281</span></span>

然后只有第一个会倒计时,我尝试为 cdown 等创建一个新函数,但我就是无法让它们都运行:/

最佳答案

您需要为每个范围声明不同的id,并调用它们的函数以直接在每个范围上开始倒计时。希望这会有所帮助。

<span id="counter1">181</span></span>
<span id="counter2">281</span></span>

function count()
{
var do_wait = Math.ceil(4*Math.random());
if (do_wait == 4) {
var rand_no = Math.ceil(3*Math.random());
var el1 = document.getElementById('counter1');
var el2 = document.getElementById('counter2');
var currentNumber = parseFloat(el.innerHTML);
var newNumber = currentNumber - rand_no;
if (newNumber > 0) {
el1.innerHTML = newNumber;
el2.innerHTML = newNumber;
} else {
el1.innerHTML = "Sold Out";
el2.innerHTML = "Sold Out";
}
}

关于javascript - 一页上有多个计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30599185/

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