在不使用任何库的情况下获得一天javascript工作的总小时数

时间:2017-06-15 08:29:22

标签: javascript html css html5

嗯,我是这个页面上的新人,请原谅我,如果我的英语很难看,但我会做我能做的事情来沟通自己:) 我正在做一个可以计算一天工作总时间的页面,这是我在17/06/17之前得到的 my page
注意:我页面中使用的语言是意大利语,对不起。

giorno = day

我的问题是我无法解决名为" Calcola"按钮的功能 这就是我所得到的:(我不知道如何在此处编写代码,因此请查看"我的页面上的代码"使用Google工具)

问题最终被称为:

function differenza()  
{       
       problem...   
}

我希望这一点很清楚,对我的英语重复抱歉我正在改进它。

1 个答案:

答案 0 :(得分:0)

@masterNixe谢谢大家,我做了这件事,请看 Try it

与你的例子@masterNixe有点不同但是谢谢:D
这是try的页面 如果有人发现了错误,请告诉我

<script>
    function differenzaTotale() {
        var i;
        for (i = 1; i < document.getElementById("tabella").rows.length; i++) {
            /*if (document.getElementById("Giorno" + i + "EntrataMinuti").value == ""){
            document.getElementById("Giorno" + i + "EntrataMinuti").value = "00";
            }
            else if (document.getElementById("Giorno" + i + "UscitaMinuti").value == ""){
                document.getElementById("Giorno" + i + "UscitaMinuti").value = "00";
            }
            else if (document.getElementById("Giorno" + i + "EntrataOra").value == ""){
                document.getElementById("Giorno" + i + "EntrataOra").value = "00";
            }
            else if (document.getElementById("Giorno" + i + "UscitaOra").value == ""){
                document.getElementById("Giorno" + i + "UscitaOra").value = "00";
            }
            else if (document.getElementById("Giorno" + i + "PausaMinuti").value == ""){
                document.getElementById("Giorno" + i + "PausaMinuti").value = "00";
            }*/
            differenzaRiga(i);
        }
    }

    function differenzaRiga(i) {

        var risultato = primoControllo(i);
        if (risultato == false){
            return false;
        }

        /* calcolo */
        var minDiUscita = risultato.minDiUscita;
        var minDiEntrata = risultato.minDiEntrata;
        var minDiPausa = risultato.minDiPausa;
        /*console.log(minDiUscita + '-'+ minDiEntrata +'-'+ minDiPausa);*/
        var differenzaInMin = minDiUscita - minDiEntrata - minDiPausa;
        var oreFatte = Math.floor(differenzaInMin / 60);
        var minutiFatti = differenzaInMin % 60;
        /*console.log(minDiUscita);
        console.log(minDiEntrata);
        console.log(minDiPausa);
        console.log(differenzaInMin);
        console.log(oreFatte);
        console.log(minutiFatti);*/
        document.getElementById("Giorno" + i + "Totale").value = (pad(oreFatte) + ":" + pad(minutiFatti));
    }

    function pad(n) { // funzione che mi aiuta a sistemare i numeri prima dello zero mettendogli uno 0 davvanti es: 7:5 -> 07:05  NON HA CHE VEDERE CON IL CALCOLO è SOLO ESTETICA
        return (n < 10) ? ("0" + n) : n;
    }
    document.getElementById('body').onkeypress = function (e) {//funzione che mi acceta l'invio come schiacciatoredi bottone
        if (!e) e = window.event;
        var keyCode = e.keyCode || e.which;
        /*console.log(keyCode);*/
        if (keyCode == '13') {
            differenzaTotale();
        }
    }

    function primoControllo(i) {
        if (document.getElementById("Giorno" + i + "EntrataOra").value == "") {
            return false;
        }
        else if (document.getElementById("Giorno" + i + "UscitaOra").value == "") {
            return false;
        }
        if (document.getElementById("Giorno" + i + "UscitaMinuti").value == "") {
            var minutiUscita = 0;
        }
        else {
            var minutiUscita = parseInt(document.getElementById("Giorno" + i + "UscitaMinuti").value);
        }
        if (document.getElementById("Giorno" + i + "EntrataMinuti").value == "") {
            var minutiEntrata = 0;
        }
        else {
            var minutiEntrata = parseInt(document.getElementById("Giorno" + i + "EntrataMinuti").value);
        }
        if (document.getElementById("Giorno" + i + "PausaMinuti").value == "") {
            var minutiPausa = 0;
        }
        else {
            var minutiPausa = parseInt(document.getElementById("Giorno" + i + "PausaMinuti").value);
        }
        if (document.getElementById("Giorno" + i + "PausaMinuti").value > "60") {
            document.getElementById("Giorno" + i + "PausaMinuti").value = "60";
            var minutiPausa = 60;
        }
        var minDiUscita = document.getElementById("Giorno" + i + "UscitaOra").value * 60 + minutiUscita; // math -> 16*60 + 20
        var minDiEntrata = document.getElementById("Giorno" + i + "EntrataOra").value * 60 + minutiEntrata; // math -> 7*60 + 30
        var minDiPausa = minutiPausa; // 45
        if (minDiUscita < minDiEntrata) {
            window.alert("ATTENZIONE: le ore di entrata sono maggiori a quelle di uscita");
            return false;
        }
        if (minDiUscita == minDiEntrata) {
            window.alert("ATTENZIONE: le ore di entrata sono uguali a quelle di uscita");
            return false;
        }

        var risultato = {

            minDiUscita: minDiUscita,
            minDiEntrata: minDiEntrata,
            minDiPausa: minDiPausa
        };

        return risultato;
    }
</script>
相关问题