मेरे पास यह कोड है, मैं समय प्रकार के साथ दो इनपुट जोड़ता हूं, मैं उन्हें एक साथ जोड़ने का प्रयास करता हूं, यही मैंने कोशिश की है कि मैं नीचे संलग्न करता हूं।

किसी के पास यह कैसे करना है, इसका कोई विचार है, मैं नीचे दी गई चीज़ों पर आराम करूंगा।

   setInterval(function () {
        sum_diff();
    }, 1000);
	
	
function sum_diff() {

       zxc = document.getElementById("id_actual_1").value;
       xcz = document.getElementById("id_actual_2").value; 
       czx= document.getElementById("id_actual_3").value; 

       zxc = zxc.split(":");
       xcz = xcz.split(":");
       czx = czx.split(":");
       
       var zxcDate = new Date(0, 0, 0, zxc[0], zxc[1], 0);
       var xczDate = new Date(0, 0, 0, xcz[0], xcz[1], 0);
       var czxDate = new Date(0, 0, 0, czx[0], czx[1], 0);
       
       var diff = zxcDate.getTime() + xczDate.getTime  + czxDate.getTime;
       	var hours = Math.floor(diff / 1000 / 60 / 60);
        diff -= hours * 1000 * 60 * 60;
       
        var minutes = Math.floor(diff / 1000 / 60);
        
               return (hours < 9 ? "0" : "") + hours + ":" + (minutes < 9 ? "0" : "") + minutes;
 }
 
  setInterval(function () {
        document.getElementById("id_sum_actual").value =  sum_diff();
    }, 1000);
<input type="time" id="id_actual_1" />
<input type="time" id="id_actual_2" />
<input type="time" id="id_actual_3" />
<input type="time" id="id_sum_actual" readonly />

साथ ही आप जावास्क्रिप्ट पक्ष पर कोड को कैसे लूप कर सकते हैं?

0
ZombieDivision 12 जिंदा 2020, 21:54

1 उत्तर

सबसे बढ़िया उत्तर

मुझे नहीं पता कि आप सेट इंटरवल का उपयोग क्यों करते हैं, लेकिन यह घटनाओं को देखने का एक अच्छा तरीका नहीं है। इसके बजाय एक इवेंटलिस्टर का उपयोग करें, नीचे मेरा उदाहरण देखें ..

यहां मैं समय को मिलीसेकंड में परिवर्तित करता हूं और घंटे और मिनटों को पुनः प्राप्त करता हूं

      function msToTime(duration) {
        var minutes = Math.floor((duration / (1000 * 60)) % 60),
            hours = Math.floor(duration / (1000 * 60 * 60));

        hours = hours < 10 ? "0" + hours : hours;
        minutes = minutes < 10 ? "0" + minutes : minutes;
        

        return hours + ":" + minutes;
      }
      console.log(msToTime(300000));
      function sum_diff() {
        zxc = document.getElementById("id_actual_1").value;
        xcz = document.getElementById("id_actual_2").value;
        czx = document.getElementById("id_actual_3").value;

        zxc = zxc.split(":");
        xcz = xcz.split(":");
        czx = czx.split(":");

        var zxcDate = new Date(0, 0, 0, zxc[0], zxc[1], 0);
        var xczDate = new Date(0, 0, 0, xcz[0], xcz[1], 0);
        var czxDate = new Date(0, 0, 0, czx[0], czx[1], 0);

        var zxcMs =
          zxcDate.getHours() * 60 * 60 * 1000 +
          zxcDate.getMinutes() * 60 * 1000;
        var xczMs =
          xczDate.getHours() * 60 * 60 * 1000 +
          xczDate.getMinutes() * 60 * 1000;
        var czxMs =
          czxDate.getHours() * 60 * 60 * 1000 +
          czxDate.getMinutes() * 60 * 1000;

        var ms = zxcMs + xczMs + czxMs;

        return msToTime(ms);
      }

      var elements = document.getElementsByClassName("time");
      for (var i = 0; i < elements.length; i++) {
        elements[i].addEventListener("change", function(e) {
          document.getElementById("id_sum_actual").value = sum_diff();
        });
      }
 
<input class="time" type="time" id="id_actual_1" value="00:00" />
<input class="time" type="time" id="id_actual_2" value="00:00" />
<input class="time" type="time" id="id_actual_3" value="00:00" />
    <input type="text" id="id_sum_actual" readonly />
1
Stefan Avramovic 13 जिंदा 2020, 10:28