簡體   English   中英

點擊按鈕不執行 function

[英]click on button not execute function

  • 我嘗試單擊 btn3 ( kashef ),但它沒有觸發我的 function kashef()

    我的代碼在這里: https://jsfiddle.net/erezdav12/gn8shkrm/100/

  • 我需要通過點擊按鈕 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM