[英]click on button not execute function
我嘗試單擊 btn3 ( kashef ),但它沒有觸發我的 function kashef()
我需要通過點擊按鈕 kashef,我的運行計數器(它是一個點鈔機)將減去,比如說,300 美元(點擊獲得該功能的成本)例如:如果在點擊的那一刻錢滾輪是 1000 美元“kashef”按鈕上的事件,貨幣計數器減少到 700 $ 並繼續運行直到下一次點擊。
這是代碼:
let start;
const el = document.getElementById('count');
const final = parseInt(el.textContent, 10);
const duration = 100000;
const kashefButton= document.getElementById("btn3");
kashefButton.addEventListener("click", kashef);
function kashef(){
document.getElementById('count').innerHTML=1000-300;
}
const step = ts => {
if (!start) {
start = ts;
}
let progress = (ts - start) / duration;
el.textContent = Math.floor(progress * final) * 100 ;
time = +el.textContent;
if( progress < 1){
requestAnimationFrame(step);
}
var btn1 = document.getElementById('btn1');
var btn2 = document.getElementById('btn2');
var btn3 = document.getElementById('btn3');
const OpentButtons = 200;
if (time <= OpentButtons) {
btn1.disabled = true;
btn2.disabled = true;
btn3.disabled = true;
} else {
btn1.disabled = false;
btn2.disabled = false;
btn3.disabled = false;
}
}
requestAnimationFrame(step);
非常感謝 !!!!
這是一個范圍界定問題。 kashdef 的定義未在 scope 中定義,事件偵聽器可以在其中找到它。將 kashef 的定義移到 ts 塊之外(就在 "const duration = 100001;" 之后)並且它可以工作(在你的小提琴中驗證)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.