[help] pourquoi pas?

Résolu
scuzi Messages postés 39 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 octobre 2012 - 1 juil. 2011 à 18:53
scuzi Messages postés 39 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 octobre 2012 - 5 juil. 2011 à 10:15
Bonjour à tous,

je m'étais inscrit il y a un petit bout de temps et n'étant pas développeur, je n'étais pas encore passé par ici.
on dirait plus un portail collaboratif qu'un forum.C'est cool mais là ça ne m'arrange pas vraiment.
mes connaissances en programmation ne dépasse pas le SOMME() d'excel et en plus j'avais une question...
au risque de me faire huer, je vais quand même me lancer.

http://www.javascriptfr.com/codes/SETINTERVAL-SETTIMEOUT-CLASS-OBJET_41764.aspx
(je suis déja passé par là mais j'ai soit pas tout compris soit ça ne m'aidait pas du tout)

j'avais dans l'idée de faire une liste de compteurs liés chacun a un timer dont je pourrai exporter les infos.
mais déjà là ça coince, ce que j'ai déjà fait flanche complétement si je lance deux compteurs en même temps.
Si quelqu'un à une solution je suis tout ouïe.

voici ce que j'ai déjà fait et si c'est codé dégueulasse veuillez m'en excuser et surtout me dire en quoi pour que je réitère pas.

http://www.cijoint.fr/cjlink.php?file=cj201107/cijNC9Wb6Z.txt
il suffit de modifier l'extension de .txt à .rar pour obtenir le .hta le .js et le .css (à modérer si besoin) et aussi ci-dessous :

le hta :

<head><title>Compteur</title>
<HTA:APPLICATION
 
   CAPTION="No"
   ID="Acces prod"
   APPLICATIONNAME="Compteur"
   BORDER="Thin"
   ICON="icon.ico"
   SHOWINTASKBAR="Yes"
   SINGLEINSTANCE="Yes"
   SCROLL="No"
   VERSION="1.0"
   INNERBORDER="No"
   SELECTION="No"
   MAXIMIZEBUTTON="No"
   MINIMIZEBUTTON="No"
   NAVIGABLE="No"
   CONTEXTMENU="No"
   BORDERSTYLE="none" >
</HTA:APPLICATION>
 
<link rel="stylesheet" href="style.css" type="text/css" />
 <script language="JavaScript" type="text/javascript" src="script.js"></script>
</head>
 



<li>[# enseigne 1]</li>
<li>





</li>

<li>[# enseigne 2]</li>
<li>





</li>

<li>[# enseigne 3]</li>
<li>





</li>

<li>[# fermer]</li>




le .js :

window.moveTo(Math.floor(screen.availWidth-300),0);
window.resizeTo(300,Math.floor(screen.availHeight));

c=[["t0","t1","t2"],[0,0,0]];
h=[0,0,0,0,0,0,0,0,0]
t=[0,0,0];
temp=0;

var r;


function time () {
h[3*temp+2]++;
if (h[3*temp+2]>=60){
h[3*temp+2]=0;
h[3*temp+1]++;
document.getElementById("test"+(3*temp+1)).value=h[3*temp+1];
}
if (h[3*temp+1]>=60){
h[3*temp+1]=0;
h[temp]++;
document.getElementById("test"+(3*temp)).value=h[3*temp];
document.getElementById("test"+(3*temp+1)).value=h[3*temp+1];
}
document.getElementById("test"+(3*temp+2)).value=h[3*temp+2];
}

function clic (cpt){
temp=parseInt(cpt.charAt(1));
for (i=0;i<=2;i++) {
if (cpt==c[0][i]){
if (t[i]==0){
r=window.setInterval(time,1000);
t[i]=1;
}
else {
c[1][i]++;
document.getElementById("text"+i).value = (c[1][i]);
window.clearInterval(r);
t[i]=0;
}

}
}
}


et la .css :

body {
background-color: black;
font-family:Calibri;
text-align: center;
}
 
ul, li{
margin: 0;
padding: 0;
margin-bottom: 20px;
}

select {
background-color: black;
font-family:Calibri;
text-align: center;
color:white;
text-decoration:none;
}
 
.button {
list-style-type: none;
display:Inline;
width:150px;
line-height:50px;
background:url(images/bouton-noir.png) no-repeat;
color:white;
text-decoration:none;
}
 
.button:hover {
background:url(images/bouton-noir-2.png) no-repeat;
text-transform: uppercase;
font-size: 15
}

.text {
list-style-type: none;
text-align: right;
display:Inline;
width:50px;
height:50px;
color:white;
background-color: black;
border-color:black;
text-decoration:none;
vertical-align:middle;
font-size: 40;
}

.num{
list-style-type: none;
text-align: right;
display:Inline;
color:white;
background-color: black;
border-color:black;
text-decoration:none;
vertical-align:middle;
width:22px;
height:20px;
}
.pti{
list-style-type: none;
text-align: right;
display:Inline;
color:white;
background-color: black;
border-color:black;
text-decoration:none;
vertical-align:middle;
width:9px;
height:20px;
}



Merci d'avance si quelqu'un a une solution soit pour simplifier tout ça soit pour régler mon problème.

3 réponses

scuzi Messages postés 39 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 octobre 2012
5 juil. 2011 à 10:15
pfff problème résolu, avec p id de 0 à n pour chaque bouton.


window.moveTo(Math.floor(screen.availWidth-300),0);
window.resizeTo(300,Math.floor(screen.availHeight));

t=[0,0,0];
repeat=[0,0,0];

function clic (p){
switch(p){
case p:
if (t[p]==0) {
t[p]=1
repeat[p]=window.setInterval(function () {
document.getElementById('secondes'+p).value++;
if (document.getElementById('secondes'+p).value>=60){
document.getElementById('secondes'+p).value=0;
document.getElementById('minutes'+p).value++;
}
if (document.getElementById('minutes'+p).value>=60){
document.getElementById('minutes'+p).value=0;
document.getElementById('heures'+p).value++;
}
},1000);
}
else{	
t[p]=0;
window.clearInterval(repeat[p]);
document.getElementById('t'+p).value++;
}
break		
}
}
3
scuzi Messages postés 39 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 octobre 2012
4 juil. 2011 à 01:34
... ok j'ai déja corrigé quelque chose,
pour avoir plusieurs instances ma variable r devrait plutôt être r=[0,0,0]
donc l32
r[i]=window.setInterval(time,1000);
et l38
window.clearInterval(r[i]);
Mais toujours le même problème l’affichage se déplace aussi
0
scuzi Messages postés 39 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 octobre 2012
5 juil. 2011 à 09:35
ok ça marche comme ça mais c'est super chiant, toujours si quelqu'un sait où est l'erreur avec une boucle, je voudrait bien savoir :


window.moveTo(Math.floor(screen.availWidth-300),0);
window.resizeTo(300,Math.floor(screen.availHeight));

t=[0,0,0];
repeat=[0,0,0];

function clic (p){
switch(p){
case 0:
if (t[0]==0) {
t[0]=1
repeat[0]=window.setInterval(function () {
document.getElementById('secondes0').value++;
if (document.getElementById('secondes0').value>=60){
document.getElementById('secondes0').value=0;
document.getElementById('minutes0').value++;
}
if (document.getElementById('minutes0').value>=60){
document.getElementById('minutes0').value=0;
document.getElementById('heures0').value++;
}},1000);
}
else{	
t[0]=0;
window.clearInterval(repeat[0]);
document.getElementById('t0').value++;
}
break
case 1:
if (t[1]==0) {
t[1]=1
repeat[1]=window.setInterval(function () {
document.getElementById('secondes1').value++;
if (document.getElementById('secondes1').value>=60){
document.getElementById('secondes1').value=0;
document.getElementById('minutes1').value++;
}
if (document.getElementById('minutes1').value>=60){
document.getElementById('minutes1').value=0;
document.getElementById('heures1').value++;
}},1000);
}

else{	
t[1]=0;
window.clearInterval(repeat[1]);
document.getElementById("t1").value++;

}
break
case 2:
if (t[2]==0) {
t[2]=1
repeat[2]=window.setInterval(function () {
document.getElementById('secondes2').value++;
if (document.getElementById('secondes2').value>=60){
document.getElementById('secondes2').value=0;
document.getElementById('minutes2').value++;
}
if (document.getElementById('minutes2').value>=60){
document.getElementById('minutes2').value=0;
document.getElementById('heures2').value++;
}},1000);
}

else{	
t[2]=0;
window.clearInterval(repeat[2]);
document.getElementById("t2").value++;

}
break

}
}

0
Rejoignez-nous