Advertisement
Guest User

TP8

a guest
Apr 27th, 2015
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.02 KB | None | 0 0
  1. //HTML
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <title></title>
  7. <script type="text/javascript" src="http://hec.unil.ch/info1ere/elemprog/jquery.min.js"></script>
  8. </head>
  9. <body onload="appliquerCouleur()">
  10. <div id="couleur">
  11.  
  12. <!--
  13. A compléter:
  14. Modifier les attributs onclick et onchange.
  15. Le bouton + incrémente la couleur de 5.
  16. Le bouton - décrémente la couleur de 5.
  17. -->
  18. <div id="rouge">
  19. <button onclick="ajouterRouge(-5)">-</button>
  20. <input type="text" onchange="changerRouge" />
  21. <button onclick="ajouterRouge(5)">+</button>
  22. </div>
  23.  
  24. <!--
  25. A compléter:
  26. Modifier les attributs onclick et onchange.
  27. Le bouton + incrémente la couleur de 5.
  28. Le bouton - décrémente la couleur de 5.
  29. -->
  30. <div id="vert">
  31. <button onclick="ajouterVert(-5)">-</button>
  32. <input type="text" onchange="changerVert" />
  33. <button onclick="ajouterVert(5)">+</button>
  34. </div>
  35.  
  36. <!--
  37. A compléter:
  38. Modifier les attributs onclick et onchange.
  39. Le bouton + incrémente la couleur de 5.
  40. Le bouton - décrémente la couleur de 5.
  41. -->
  42. <div id="bleu">
  43. <button onclick="ajouterBleu(-5)">-</button>
  44. <input type="text" onchange="changerBleu" />
  45. <button onclick="ajouterBleu(5)">+</button>
  46. </div>
  47.  
  48. </div>
  49. </body>
  50. </html>
  51.  
  52. //FIN HTML
  53.  
  54. //DEBUT JAVASCRIPT
  55.  
  56. /**
  57. * Ces variables sont utilisées pour gérer l'intensité du rouge du vert et du bleu.
  58. */
  59. var r = 255;
  60. var v = 200;
  61. var b = 255;
  62.  
  63. /**
  64. * A compléter:
  65. * La fonction retourne toujours un nombre entier compris entre 0 et 255.
  66. * Si couleur n'est pas un nombre, la valeur retournée est 255.
  67. * Si couleur est un nombre plus grand que 255, la valeur retournée est 255.
  68. * Si couleur est un nombre plus petit que 0, la valeur retournée est 0.
  69. * Sinon, la valeur retournée est couleur.
  70. * Fonctions JavaScript: parseInt(), isNaN().
  71.  
  72. rgb(255,255,255)
  73.  
  74. */
  75. function couleurValide(couleur) {
  76. couleur = parseInt(couleur);
  77. if(isNaN(couleur)){
  78. return 255;
  79. }
  80. else if(couleur>255){return 255;}
  81. else if(couleur<0){return 0;}
  82. else{
  83. return couleur;
  84. }
  85.  
  86. }
  87.  
  88. /**
  89. * A compléter:
  90. * La fonction applique les couleurs au fond d'écran, aux boutons et aux valeurs des champs de saisie.
  91. * JQuery permet de mettre à jour toutes ces propriétés.
  92. */
  93. function appliquerCouleur() {
  94.  
  95. // Ne pas modifier:
  96. // Mettre à jour les valeurs du formulaire à l'aide de JQuery.
  97. // JavaScript: $("...").val(x);
  98. $("#rouge input").val(r);
  99. $("#vert input").val(v);
  100. $("#bleu input").val(b);
  101.  
  102. // A compléter:
  103. // Afficher individuellement chaque couleur dans le formulaire.
  104. // Par exemple, en css, le rouge le plus intense correspond à "rgb(255,0,0)"
  105. // alors que le rouge le moins intense correpond à "rgb(0,0,0)".
  106. // Pour chaque couleur, cette chaine de caractère peut être créée à l'aide des variables r, v et b.
  107. // JavaScript: $("...").css("propriété", "valeur");
  108. $("#rouge").css("background-color","rgb("+r+",0,0)");
  109. $("#vert").css("background-color","rgb(0,"+v+",0)");
  110. $("#bleu").css("background-color","rgb(0,0,"+b+")");
  111.  
  112.  
  113.  
  114. // A compléter:
  115. // Combiner le rouge, le vert et le bleu pour générer la couleur d'arrière plan.
  116. // Les couleurs sont combinées à l'aide de la propriété css "rgb(r, g, b)".
  117. $('body').css("background-color","rgb("+r+","+v+","+b+")");
  118.  
  119. }
  120.  
  121. /**
  122. * A compléter:
  123. * Le paramètre n de cette fonction permet d'incrémenter ou de décrémenter l'indice de la couleur.
  124. * Après modification, la couleur doit toujours être valide.
  125. * Après chaque changement, le fond d'écran et les boutons doivent être mis à jour.
  126. */
  127. function ajouterRouge(n) {
  128. r = couleurValide(r+n);
  129. changerRouge();
  130. appliquerCouleur();
  131.  
  132. }
  133.  
  134. /**
  135. * A compléter:
  136. * A l'aide de JQuery, la fonction récupère la valeur du champs de saisie de la couleur correspondante.
  137. * Après chaque changement, le fond d'écran et les boutons doivent être mis à jour.
  138. */
  139. function changerRouge() {
  140. r = couleurValide($("#rouge input").val());
  141.  
  142. appliquerCouleur();
  143.  
  144. }
  145.  
  146. /**
  147. * A compléter:
  148. * Le paramètre n de cette fonction permet d'incrémenter ou de décrémenter l'indice de la couleur.
  149. * Après modification, la couleur doit toujours être valide.
  150. * Après chaque changement, le fond d'écran et les boutons doivent être mis à jour.
  151. */
  152. function ajouterVert(n) {
  153. v = couleurValide(v+n);
  154. changerVert();
  155. appliquerCouleur();
  156.  
  157. }
  158.  
  159. /**
  160. * A compléter:
  161. * A l'aide de JQuery, la fonction récupère la valeur du champs de saisie de la couleur correspondante.
  162. * Après chaque changement, le fond d'écran et les boutons doivent être mis à jour.
  163. */
  164. function changerVert() {
  165. v = couleurValide($("#vert input").val());
  166.  
  167. appliquerCouleur();
  168.  
  169. }
  170.  
  171. /**
  172. * A compléter:
  173. * Le paramètre n de cette fonction permet d'incrémenter ou de décrémenter l'indice de la couleur.
  174. * Après modification, la couleur doit toujours être valide.
  175. * Après chaque changement, le fond d'écran et les boutons doivent être mis à jour.
  176. */
  177. function ajouterBleu(n) {
  178. b = couleurValide(b+n);
  179. changerBleu();
  180. appliquerCouleur();
  181.  
  182. }
  183.  
  184. /**
  185. * A compléter:
  186. * A l'aide de JQuery, la fonction récupère la valeur du champs de saisie de la couleur correspondante.
  187. * Après chaque changement, le fond d'écran et les boutons doivent être mis à jour.
  188. */
  189. function changerBleu() {
  190. b = couleurValide($("#bleu input").val());
  191.  
  192. appliquerCouleur();
  193.  
  194. }
  195.  
  196. //FIN JAVASCRIPT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement