Bouton qui génère soit 1, soit 0
Résolu/Fermé
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
-
4 mai 2014 à 21:00
thiseo Messages postés 17 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 6 mai 2014 - 6 mai 2014 à 18:49
thiseo Messages postés 17 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 6 mai 2014 - 6 mai 2014 à 18:49
A voir également:
- Bouton qui génère soit 1, soit 0
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 - Forum Algorithmes / Méthodes
- Si #n/a alors 0 - Forum Bureautique
- Bouton shift pc - Forum Jeux vidéo
- Réinitialiser chromecast sans bouton - Guide
- Comment faire un 0 barré sur telephone ✓ - Forum Windows
7 réponses
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
5 mai 2014 à 13:32
5 mai 2014 à 13:32
Salut,
Voila:
Voila:
<html>
<head>
<meta charset="utf8">
<title></title>
<style type="text/css">
img{
width: 50px;
height: 50px;
}
#container *{
float: left;
}
h4{
font-size: 30pt;
margin:0;
margin-left: 20px;
}
button{
margin-right: 30px;
}
</style>
</head>
<body>
<div id="container">
<button>1 ou 0 ?</button>
<div id="pictures"></div>
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var superGenerator = {
pictures: 0,
total: 0,
// Nombre de clics autorisés sur le bouton
max: 3,
container: $('#pictures'),
picturesUrl: [
'http://1.bp.blogspot.com/-6detgR91RJs/UX6ZKLTp2uI/AAAAAAAAA68/OunVXlXGw8U/s320/zero.jpg',
'http://upload.wikimedia.org/wikipedia/commons/3/3f/ONE_Campaign.svg'
],
init: function(){
var me = this;
$('button').click(function(){me.push()});
},
push: function(){
var me = this;
//0 ou 1? place au tirage
var nb = this.getRandom();
this.pictures++;
if(this.pictures > this.max){
return;
}
this.total += nb;
console.log(this.total);
var $pict = $('<img/>')
$pict.attr('src', me.picturesUrl[nb]);
$(me.container).append($pict)
// Ajout du total
if(this.pictures == this.max){
$(me.container).append('<h4>'+me.total+'</h4>');
}
},
getRandom: function(){
return Math.random() >= 0.5?1:0;
}
}
superGenerator.init();
</script>
</body>
</html>
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
5 mai 2014 à 19:36
5 mai 2014 à 19:36
Bonjour,
Tu es absolument génial, c'est ce dont j'ai besoin.
J'ai une petite correction, en fait, quand je clique sur le bouton, il faudrait que les 3 images se génèrent en même temps, soit :
Je clique une fois sur le bouton, les trois images se génèrent et le total apparaît.
Ce serait possible ?
Si oui, il me restera deux choses à demander et je ne t'embête plus.
En tout cas, merci beaucoup pour ton aide précieuse, c'est très gentil de ta part.
Tu es absolument génial, c'est ce dont j'ai besoin.
J'ai une petite correction, en fait, quand je clique sur le bouton, il faudrait que les 3 images se génèrent en même temps, soit :
Je clique une fois sur le bouton, les trois images se génèrent et le total apparaît.
Ce serait possible ?
Si oui, il me restera deux choses à demander et je ne t'embête plus.
En tout cas, merci beaucoup pour ton aide précieuse, c'est très gentil de ta part.
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
5 mai 2014 à 20:47
5 mai 2014 à 20:47
Voila pour la première correction:
<html>
<head>
<meta charset="utf8">
<title></title>
<style type="text/css">
img{
width: 50px;
height: 50px;
}
#container *{
float: left;
}
h4{
font-size: 30pt;
margin:0;
margin-left: 20px;
}
button{
margin-right: 30px;
}
</style>
</head>
<body>
<div id="container">
<button>1 ou 0 ?</button>
<div id="pictures"></div>
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var superGenerator = {
pictures: 0,
total: 0,
// Nombre de clics autorisés sur le bouton
max: 3,
container: $('#pictures'),
picturesUrl: [
'http://1.bp.blogspot.com/-6detgR91RJs/UX6ZKLTp2uI/AAAAAAAAA68/OunVXlXGw8U/s320/zero.jpg',
'http://upload.wikimedia.org/wikipedia/commons/3/3f/ONE_Campaign.svg'
],
init: function(){
var me = this;
$('button').click(function(){me.push()});
},
push: function(){
var me = this;
for(var i = 0; i < this.max; i++){
//0 ou 1? place au tirage
var nb = this.getRandom();
this.pictures++;
if(this.pictures > this.max){
return;
}
this.total += nb;
console.log(this.total);
var $pict = $('<img/>')
$pict.attr('src', me.picturesUrl[nb]);
$(me.container).append($pict)
// Ajout du total
if(this.pictures == this.max){
$(me.container).append('<h4>'+me.total+'</h4>');
}
}
},
getRandom: function(){
return Math.random() >= 0.5?1:0;
}
}
superGenerator.init();
</script>
</body>
</html>
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
5 mai 2014 à 20:50
5 mai 2014 à 20:50
Pour la suite des modifs, essaie de poster l'ensemble des modifications souhaitées en une seule fois histoire que j'aie une vue d'ensemble des fonctionnalités à coder. Ca facilitera le développement et ça s'ra plus propre :)
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
5 mai 2014 à 21:32
5 mai 2014 à 21:32
Ouah, niquel !!!! Merci beaucoup
Pour le reste, je vais t'expliquer vite fait la finalité de ce code. C'est pour du Yi-king, je ne sais pas si tu connais. Bref, pour le moment, nous avons un bouton, qui génère trois images et nous avons le résultat.
Il faudrait que cela se répète en tout six fois. Et a la fin, une concaténation des six résultats. Donc cela donne ce qui suit :
Bouton A - Image 1 - Image 2 - Image 3 - Résultat A
Bouton B - Image 1 - Image 2 - Image 3 - Résultat B
Bouton C - Image 1 - Image 2 - Image 3 - Résultat C
Bouton D - Image 1 - Image 2 - Image 3 - Résultat D
Bouton E - Image 1 - Image 2 - Image 3 - Résultat E
Bouton F - Image 1 - Image 2 - Image 3 - Résultat F
Résultat : (la concaténation) ABCDEF
Apres, pour la dernière chose, il faut que je mette en piece jointe un fichier html/JavaScript car je pense qu'un simple copier-coller fera l'affaire.
Merci beaucoup pour ton aide, c'est vraiment gentil de ta part.
Pour le reste, je vais t'expliquer vite fait la finalité de ce code. C'est pour du Yi-king, je ne sais pas si tu connais. Bref, pour le moment, nous avons un bouton, qui génère trois images et nous avons le résultat.
Il faudrait que cela se répète en tout six fois. Et a la fin, une concaténation des six résultats. Donc cela donne ce qui suit :
Bouton A - Image 1 - Image 2 - Image 3 - Résultat A
Bouton B - Image 1 - Image 2 - Image 3 - Résultat B
Bouton C - Image 1 - Image 2 - Image 3 - Résultat C
Bouton D - Image 1 - Image 2 - Image 3 - Résultat D
Bouton E - Image 1 - Image 2 - Image 3 - Résultat E
Bouton F - Image 1 - Image 2 - Image 3 - Résultat F
Résultat : (la concaténation) ABCDEF
Apres, pour la dernière chose, il faut que je mette en piece jointe un fichier html/JavaScript car je pense qu'un simple copier-coller fera l'affaire.
Merci beaucoup pour ton aide, c'est vraiment gentil de ta part.
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
5 mai 2014 à 21:39
5 mai 2014 à 21:39
Ok, donc pour résumer: 6 boutons qui génèrent chacuns 3 images et une somme totale en fonction. On appuye 6 fois, ça génère 6 lignes. Une fois toutes les lignes générées, le total des totaux s'affiche. Le tout doit être facilement et proprement copiable/collable dans un email. Je m'y met ;)
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
5 mai 2014 à 22:01
5 mai 2014 à 22:01
Merci beaucoup. Et demain, je te mettrais le fichier en pièces jointe pour voir si on peut juste faire un copier-coller
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
5 mai 2014 à 22:47
5 mai 2014 à 22:47
Voila, je te laisse le soin de tester l'envoi par email et la mise en page.
<html>
<head>
<meta charset="utf8">
<title></title>
<style type="text/css">
img{
width: 50px;
height: 50px;
}
h4{
font-size: 30pt;
margin:0;
margin-left: 20px;
}
button{
margin-right: 30px;
}
</style>
</head>
<body>
<div id="container">
<div id="pictures"></div>
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var superGenerator = {
pictures: 0,
total: 0,
concatTotal: '',
// Nombre de clics autorisés sur le bouton
max: 3,
nbTirages: 6,
container: $('#pictures'),
picturesUrl: [
'http://1.bp.blogspot.com/-6detgR91RJs/UX6ZKLTp2uI/AAAAAAAAA68/OunVXlXGw8U/s320/zero.jpg',
'http://upload.wikimedia.org/wikipedia/commons/3/3f/ONE_Campaign.svg'
],
init: function(){
var me = this;
this.genTab();
$('button').click(function(e){me.push(e)});
},
genTab: function(){
var $tab = $('<table></table>');
for(var i = 0; i < this.nbTirages; i++){
var $line = $('<tr class="line-'+i+'"></tr>');
console.log($line);
$tab.append($line);
for(var j = 0; j < this.max + 2 /*+2 pour bouton et resultat*/ ; j++){
if(j == 0){
// On place le bouton
var $btn = $('<td><button class="tirage" data-tirage="'+i+'">Tirage ' + i +'</button></td>');
$line.append($btn);
if(i != 0){
$btn.children('button').attr('disabled', 'disable')
}
}else{
$line.append('<td></td>');
}
}
}
this.container.append($tab);
},
push: function(e){
console.log('click');
var line = $(e.currentTarget).data('tirage');
var me = this;
for(var i = 0; i < this.max; i++){
//0 ou 1? place au tirage
var nb = this.getRandom();
this.pictures++;
if(this.pictures > this.max){
return;
}
this.total += nb;
var $pict = $('<img/>')
$pict.attr('src', me.picturesUrl[nb]);
$( $('.line-'+line).children('td')[i+1] ).append($pict);
// Ajout du total
if(this.pictures == this.max){
$( $('.line-'+line).children('td')[i+2] ).append('<h4>'+me.total+'</h4>');
$('.line-'+line + ' button').attr('disabled', 'disable');
me.concatTotal += me.total;
if(line < me.nbTirages){
$('.line-'+(line+1) + ' button').removeAttr("disabled");
}
}
}
this.pictures = 0;
this.total = 0;
if(line == me.nbTirages-1){
$(me.container).append('Résultat: ' + me.concatTotal);
}
},
getRandom: function(){
return Math.random() >= 0.5?1:0;
}
}
superGenerator.init();
</script>
</body>
</html>
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
Modifié par prosthetiks le 6/05/2014 à 10:30
Modifié par prosthetiks le 6/05/2014 à 10:30
Quelques modifs visuelles, dont des images (je crois avoir fait juste d'après ce que j'ai pu lire sur le yi-king :p):
<html>
<head>
<meta charset="utf8">
<title></title>
<style type="text/css">
img{
width: 50px;
height: 50px;
}
h4{
font-size: 30pt;
margin:0;
margin-left: 20px;
color: #888;
}
h3{
margin:0;
}
h2{
margin-bottom: 5px;
}
button{
margin-right: 30px;
border-radius: 10%;
font-size: 12pt;
width: 100px;
transition: all linear .4s;
}
button[disabled]{
opacity: 0.5;
}
#pictures{
display: inline-block;
margin:0 auto;
}
td{
height: 45px;
width: 60px;
}
body{
text-align: center;
}
.result{
font-size: 14pt;
margin-top: 30px;
font-weight: bolder;
}
.resultCell{
display: inline-block;
}
</style>
</head>
<body>
<div id="container">
<div id="pictures"></div>
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
var superGenerator = {
pictures: 0,
total: 0,
concatTotal: '',
// Nombre de clics autorisés sur le bouton
max: 3,
nbTirages: 6,
container: $('#pictures'),
picturesUrl: [
'http://image.noelshack.com/fichiers/2014/19/1399362875-zero.png',
'http://image.noelshack.com/fichiers/2014/19/1399362895-one.png',
'http://image.noelshack.com/fichiers/2014/19/1399362909-two.png',
'http://image.noelshack.com/fichiers/2014/19/1399364939-three.png'
],
init: function(){
var me = this;
this.genTab();
$('button').click(function(e){me.push(e)});
},
genTab: function(){
var $tab = $('<table></table>');
for(var i = 0; i < this.nbTirages; i++){
var $line = $('<tr class="line-'+i+'"></tr>');
$tab.append($line);
for(var j = 0; j < this.max + 2 /*+2 pour bouton et resultat*/ ; j++){
if(j == 0){
// On place le bouton
var $btn = $('<td><button class="tirage" data-tirage="'+i+'">Tirage ' + i +'</button></td>');
$line.append($btn);
if(i != 0){
$btn.children('button').attr('disabled', 'disable')
}
}else{
$line.append('<td></td>');
}
}
}
this.container.append($tab);
},
push: function(e){
var line = $(e.currentTarget).data('tirage');
var me = this;
for(var i = 0; i < this.max; i++){
//0 ou 1? place au tirage
var nb = this.getRandom();
this.pictures++;
if(this.pictures > this.max){
return;
}
this.total += nb;
var $pict = $('<img/>')
$pict.attr('src', me.picturesUrl[nb]);
$( $('.line-'+line).children('td')[i+1] ).append($pict);
// Ajout du total
if(this.pictures == this.max){
$( $('.line-'+line).children('td')[i+2] ).append('<h4>'+me.total+'</h4>');
$('.line-'+line + ' button').attr('disabled', 'disable');
me.concatTotal += me.total;
if(line < me.nbTirages){
$('.line-'+(line+1) + ' button').removeAttr("disabled");
}
}
}
this.pictures = 0;
this.total = 0;
if(line == me.nbTirages-1){
var $resultContainer = $('<div class="result"><h2>Résultat:</h2></div>');
$(me.container).append($resultContainer);
for(var i = 0; i < me.concatTotal.length; i++){
var digit = me.concatTotal.charAt(i);
$resultContainer.append('<span class="resultCell"><img src="'+me.picturesUrl[digit]+'"/><h3>'+digit+'</h3></span>');
}
//$(me.container).append('<div class="result">Résultat: ' + me.concatTotal+'</div>');
}
},
getRandom: function(){
return Math.random() >= 0.5?1:0;
}
}
superGenerator.init();
</script>
</body>
</html>
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
6 mai 2014 à 13:32
6 mai 2014 à 13:32
Tu es magique, merci beaucoup. La première partie est finie et fonctionnelle, c'est vraiment super, merci à toi.
Je n'ose pas te demander s'il est possible de voir pour la deuxième partie, qui est la partie de l'interprétation. Dans le doute, je vais mettre un fichier en pièce jointe, il n'y a que des formules Excel, cependant, si c'est trop complexe parce que j'avoue que c'est un peu particulier, n'hésite pas.
La particularité de ce fichier, c'est que c'est l'ancienne méthode, la seule différence est :
les 0 sont des 6
les 1 sont des 7
les 2 sont des 8
les 3 sont des 9
Tout le reste est pareil.
Le fichier se trouve ici : https://hubic.com/home/pub/?ruid=aHR0cHM6Ly9sYjEuaHViaWMub3ZoLm5ldC92MS9BVVRIXzA2NTBlMTRlYTUyM2RiZDA4OGEyNWZjYjRkYjNmMTM5L2RlZmF1bHQvLm92aFB1Yi8xMzk5Mzc1MjE4XzE0MDAyMzkyMTg/dGVtcF91cmxfc2lnPTI5ZjZkZGE0NjliNmU5NWMzNTNhZmIzYmRlODgzMTc1MGMzM2NlM2UmdGVtcF91cmxfZXhwaXJlcz0xNDAwMjM5MjE4
Merci mille fois pour ton aide précieuse
Je n'ose pas te demander s'il est possible de voir pour la deuxième partie, qui est la partie de l'interprétation. Dans le doute, je vais mettre un fichier en pièce jointe, il n'y a que des formules Excel, cependant, si c'est trop complexe parce que j'avoue que c'est un peu particulier, n'hésite pas.
La particularité de ce fichier, c'est que c'est l'ancienne méthode, la seule différence est :
les 0 sont des 6
les 1 sont des 7
les 2 sont des 8
les 3 sont des 9
Tout le reste est pareil.
Le fichier se trouve ici : https://hubic.com/home/pub/?ruid=aHR0cHM6Ly9sYjEuaHViaWMub3ZoLm5ldC92MS9BVVRIXzA2NTBlMTRlYTUyM2RiZDA4OGEyNWZjYjRkYjNmMTM5L2RlZmF1bHQvLm92aFB1Yi8xMzk5Mzc1MjE4XzE0MDAyMzkyMTg/dGVtcF91cmxfc2lnPTI5ZjZkZGE0NjliNmU5NWMzNTNhZmIzYmRlODgzMTc1MGMzM2NlM2UmdGVtcF91cmxfZXhwaXJlcz0xNDAwMjM5MjE4
Merci mille fois pour ton aide précieuse
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
6 mai 2014 à 13:39
6 mai 2014 à 13:39
Est-ce que tu veux pouvoir modifier le contenu de ce fichier en tout temps ou est-ce que tout ça est statique et n'évoluera pas ? (juste pour savoir de quelle façon je peux l'intégrer)
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
6 mai 2014 à 14:04
6 mai 2014 à 14:04
seul les textes peuvent évoluer, les chiffres eux resteront 0,1,2, ou 3
De plus, je ne sais pas si on peux prévoir un système d'onglet ou de menu car à finalité, il y aura 3 à 4 fichier textes.
Par exemple, aujourd'hui, je travaille avec 4 fichiers excel comme je t'ai envoyé, seul les textes sont différents
De plus, je ne sais pas si on peux prévoir un système d'onglet ou de menu car à finalité, il y aura 3 à 4 fichier textes.
Par exemple, aujourd'hui, je travaille avec 4 fichiers excel comme je t'ai envoyé, seul les textes sont différents
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
6 mai 2014 à 14:05
6 mai 2014 à 14:05
Dans l'onglet Tableau de ton fichier, les combinaisons ne comportent que des 7 et des 8. Quid des 6 et des 9 ?
prosthetiks
Messages postés
1189
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
12 juin 2020
431
6 mai 2014 à 14:10
6 mai 2014 à 14:10
est-ce qu'on peut passer sur skype à la limite ? la communication via forum devient limite.
Mon pseudo est le même qu'ici si jamais.
Mon pseudo est le même qu'ici si jamais.
thiseo
Messages postés
17
Date d'inscription
jeudi 19 juin 2008
Statut
Membre
Dernière intervention
6 mai 2014
6 mai 2014 à 14:15
6 mai 2014 à 14:15
Yep, je pense que ce sera plus simple en effet, parce que cette seconde partie, bien que simple, n'est pas facile à expliquer. Je te rajoute sur Skype, mais je suis en formation, tu serais dispo vers 17:30 ? Mon pseudo est aussi identique
6 mai 2014 à 12:00
Modifié par prosthetiks le 6/05/2014 à 13:18
Aucune raison donc de s'en priver.
De plus, Ca permet d'être sûr de la compatibilité du code avec les navigateurs supportés par jQuery