class TimeCode { constructor() { this.phases=['h',':','m',':','s','p']; this.cphase=0; this.cdata; this.paused=false; var that = this; if(!config.debug){ var elem = document.querySelector('#hora'); elem.style.display = 'none'; } if(config.negative){ document.body.classList.add("negative"); } this.preload(); this.update(); this.toggle = this.toggle.bind(this) } preload(){ const images=[ '0_L','1_L','2_L','3_L','4_L','5_L', '0_R','1_R','2_R','3_R','4_R','5_R', '2punts_A','2punts_B' ]; for(var i=0;i9){ var num1=parseInt(num/10); var num2=num%10; mans=[this.getMansSimple(num1),this.getMansSimple(num2)]; }else{ mans=this.getMansSimple(num,true); } return mans; } getMansSimple(num,zero){ if(zero==undefined) zero=false; //console.log('getMansSimple',num); var mans; if(num>5){ mans=[5,num-5] }else{ if(zero){ mans=[0,num]; }else{ mans=[num,-1]; } } return mans; } paint(){ // console.log("pintant fase ",this.cphase,this.cdata); var phase=this.phases[this.cphase]; var that=this; var mans; if(phase=="p"){ this.esborra(); this.next(); return; }else if(phase!=":"){ mans=this.cdata[phase]; }else{ mans=[":","-1"]; } this.pintaMans(mans); } pintaMans(mans){ var that=this; if(mans[0].length==2){ this.mostraMans(mans[0]); //pausa setTimeout(function(){ that.esborra(); },config.time_next_xifra-300) setTimeout(function(){ that.mostraMans(mans[1]); that.next(); },config.time_next_xifra) }else{ //console.log("pintamans else ",mans); this.mostraMans(mans); this.next(); } } next(){ //console.log("seguent pas"); var that=this; setTimeout(function(){ that.esborra(); that.cphase++; if(that.cphase==that.phases.length){ that.createData(); that.cphase=0; } that.paint(); },config.time_next); } esborra(){ document.getElementById('hand-left').src=''; document.getElementById('hand-right').src=''; } toggle(){ this.paused=!this.paused; } mostraMans(mans){ // console.log("mans ",mans[0],mans[1]); document.getElementById("hand-left").classList.remove('zoom'); document.getElementById("hand-right").classList.remove('zoom'); document.getElementById("hand-dospunts").classList.remove('zoom2'); var primera_ma; var segona_ma; var dospunts=false; //sembla que no es fa mai if(mans[0]==-1 && mans[1]==-1){ //pausa final this.esborra(); return; } if(mans[0]==":"){ //primera_ma='images/'+mans[0]+'_L.svg'; dospunts=true; }else{ primera_ma='images/'+mans[0]+'_R.svg'; } if(mans[1]==-1){ segona_ma=''; //ma centrada document.getElementById("hand-left").classList.add('hand-centered'); //al cap d'una estona aplicar efecte }else{ document.getElementById("hand-left").classList.remove('hand-centered'); // document.getElementById("hand-left").style.left = '0px'; segona_ma='images/'+mans[1]+'_L.svg'; } if(dospunts){ document.getElementById('hand-dospunts').src='images/2punts_B.svg'; setTimeout(function(){ //document.getElementById('hand-dospunts').src='images/2punts_B.svg'; document.getElementById("hand-dospunts").classList.add('zoom2'); },config.time_dospunts); document.getElementById('hand-left').src=''; document.getElementById('hand-right').src='' }else{ document.getElementById('hand-dospunts').src=''; document.getElementById('hand-left').src=primera_ma; document.getElementById('hand-right').src=segona_ma } setTimeout(function(){ document.getElementById("hand-left").classList.add('zoom'); document.getElementById("hand-right").classList.add('zoom'); },config.time_dospunts); } } let t=new TimeCode(); var stopped=false; document.addEventListener('keydown', function (event) { if (event.key === 'p') { if(stopped) return; stopped=true; var now =new Date(); while(true){ var now2=new Date(); var diff =(now2.getTime() - now.getTime()) / 1000; if(diff>config.time_stop){ stopped=false; return; } } } });