Repositorio del curso CCOM4030 el semestre B91 del proyecto Paz para la Mujer

quiz_preg.js 7.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. //Seccion que se encargara de los quices
  2. //Variables que guardaran los diferentes valores de los componentes del quiz
  3. const start = document.getElementById("start");
  4. const pregunta = document.getElementById("pregunta");
  5. const uno = document.getElementById("1");
  6. const dos = document.getElementById("2");
  7. const tres = document.getElementById("3");
  8. // Arreglo que guardara el contenido de las preguntas del quiz,
  9. // y las diferentes contestaciones que pueden ser elegidas
  10. let preguntas = [
  11. {
  12. pregunta : "1. Complazco a mi pareja:",
  13. uno : "a. Por que me nace como algo natural",
  14. dos : "b. Por que es mi obligación",
  15. tres : "c. Solo cuando se lo gana y me complace a mí",
  16. saludable : "tres",
  17. masOmenos: "uno",
  18. violencia: "dos"
  19. } , {
  20. pregunta : "2. Cuando desea compartir solo/a con mis amistades:",
  21. uno : "a. Siempre me da espacio",
  22. dos : "b. Aun que no le gusta que salga sol@, me complace y respeta mi espacio personal",
  23. tres : "c. Me prohíbe que salga sol@",
  24. saludable : "uno",
  25. masOmenos: "dos",
  26. violencia: "tres"
  27. } , {
  28. pregunta : "3. Cuando discutimos:",
  29. uno : "a. Me escucha, pero al final hace lo que quiere",
  30. dos : "b. Dialogamos y llegamos a acuerdos en común",
  31. tres : "c. Mi pareja siempre tiene que ganar",
  32. saludable : "dos",
  33. masOmenos: "uno",
  34. violencia: "tres"
  35. } , {
  36. pregunta : "4. Cuando hablo con amistades:",
  37. uno : "a. Me acusa de que estoy 'tirandole' o coquetenando con el/ella",
  38. dos : "b. No se siente amenazad@, pues confia en mi",
  39. tres : "c. Se pone celos@, pero no lo demuestra",
  40. saludable : "dos",
  41. masOmenos: "tres",
  42. violencia: "uno"
  43. } , {
  44. pregunta : "5. Cuando hemos tenido alguna diferencia:",
  45. uno : "a. Rompe mis cosas",
  46. dos : "b. Tratamos de llegar a un acuerdo, pero busca la manera de castigarme",
  47. tres : "c. Dialogamos y llegamos a acuerdos que nos beneficien ambos",
  48. saludable : "tres",
  49. masOmenos: "dos",
  50. violencia: "uno"
  51. } , {
  52. pregunta : "6. En cuanto a los acercamientos sexuales:",
  53. uno : "a. Respeta cuando digo que no quiero",
  54. dos : "b. Trata de convencerme para que tengamos sexo, y aveces lo logra",
  55. tres : "c. Tengo miedo de decor que no",
  56. saludable : "uno",
  57. masOmenos: "dos",
  58. violencia: "tres"
  59. } , {
  60. pregunta : "7. En cuanto a celular:",
  61. uno : "a. Puedo hablar con quien deseo y cuando quiero sin tener que dar explicaciones",
  62. dos : "b. Controla mis llamadas, revisa mi celular sin permiso, y me prohibe hablar con ciertas personas",
  63. tres : "c. Siempre me pregunta con quien hablo, y a veces se molesta si es alguien del sexo opuesto",
  64. saludable : "uno",
  65. masOmenos: "tres",
  66. violencia: "dos"
  67. } , {
  68. pregunta : "8. En nuestra relacion:",
  69. uno : "a. Escucha mis opiniones, siempre y cuando estemos de acuerdo",
  70. dos : "b. Nunca digo mi opinion por miedo a que me rechace",
  71. tres : "c. Ambos expresamos nuestras opiniones y las respetamos",
  72. saludable : "tres",
  73. masOmenos: "dos",
  74. violencia: "uno"
  75. } , {
  76. pregunta : "9. En nuestra relacion:",
  77. uno : "a. Ambos podemos realizar nuestras propias actividades",
  78. dos : "b. Cada quien hace sus cosas, pero a veces tengo que informar donde y con quien estoy",
  79. tres : "c. Mi pareja me llama constantemente para saber donde estoy",
  80. saludable : "uno",
  81. masOmenos: "dos",
  82. violencia: "tres"
  83. } , {
  84. pregunta : "10. Frente a mia amistades y familiares, mi pareja:",
  85. uno : "a. Me ofende, pero siempre se disculpa",
  86. dos : "b. Me trata con mucho respeto y cariño",
  87. tres : "c. Me ha humillado u ofendido, y no se a disculpado",
  88. saludable : "dos",
  89. masOmenos: "uno",
  90. violencia: "tres"
  91. } , {
  92. pregunta : "11. La comunicacion en mi relacion:",
  93. uno : "a. Es abierta, y hablamos de lo que sea sin problemas",
  94. dos : "b. Es buena, pero a veces no se como vaya a reaccionar mi pareja",
  95. tres : "c. Siento miedo de las reacciones de mi pareja ante ciertos temas",
  96. saludable : "uno",
  97. masOmenos: "dos",
  98. violencia: "tres"
  99. } , {
  100. pregunta : "12. La cuenta de Facebook:",
  101. uno : "a. Es de ambos, y no me permite tener una cuenta propia",
  102. dos : "b. Cada quien tiene la suya, pero tiene mi contraseña, y me pregunta por las cosas que posteo",
  103. tres : "c. Es privada, y no tengo que darle explicaciones de mis fotos o de lo que posteo",
  104. saludable : "tres",
  105. masOmenos: "dos",
  106. violencia: "uno"
  107. } , {
  108. pregunta : "13. Los gastos economicos:",
  109. uno : "a. Son divididos por ambos",
  110. dos : "b. Uno de los dos siempre paga voluntariamente",
  111. tres : "c. Mi pareja controla mi dinero y el suyo",
  112. saludable : "dos",
  113. masOmenos: "uno",
  114. violencia: "tres"
  115. } , {
  116. pregunta : "14. Siento que mi pareja:",
  117. uno : "a. Me da espacio y apoya mis decisiones",
  118. dos : "b. Me quiere controlar",
  119. tres : "c. Me manipula y me convence para que haga lo que el/ella quiera y muchas veces lo logra",
  120. saludable : "uno",
  121. masOmenos: "dos",
  122. violencia: "tres"
  123. }
  124. ];
  125. // Variables que contienen el tamaño del arreglo en donde se guardan las
  126. // preguntas y las posibles opciones, cual es la pregunta actual, y que
  127. // contestaciones fueron elegidas
  128. let ultimaPregunta = preguntas.length - 1;
  129. let preguntaActual = 0;
  130. let total = 0;
  131. // Funcion que despliega las preguntas y las posibles contestaciones
  132. function renderPreguntas() {
  133. let p = preguntas[preguntaActual];
  134. pregunta.innerHTML = p.pregunta;
  135. uno.innerHTML = p.uno;
  136. dos.innerHTML = p.dos;
  137. tres.innerHTML = p.tres;
  138. }
  139. // Funcion que esta pendiente a si se le dio un click al evento que
  140. // iniciara el quiz
  141. start.addEventListener("click", empiezaQuiz);
  142. // Funcion que hace que se vea el contenido del quiz. Inicialmente
  143. // estan escondidas
  144. function empiezaQuiz(){
  145. var quiz_var = document.getElementById('quiz');
  146. var quiz_display = quiz_var.style.display;
  147. if(quiz_display == "none"){
  148. quiz_var.style.display = "block";
  149. renderPreguntas();
  150. pregunta.style.display = "block";
  151. }
  152. else{
  153. quiz_var.style.display = "none";
  154. pregunta.style.display = "none";
  155. preguntaActual = 0;
  156. total = 0;
  157. }
  158. }
  159. function verifyResult(){
  160. var porciento = (total/1400)*100;
  161. if(porciento >= 84){
  162. window.location.href = "buena_relacion.html";
  163. }
  164. else if (porciento >= 74) {
  165. window.location.href = "relacion_con_problemas.html";
  166. }
  167. else{
  168. window.location.href = "relacion_toxica.html";
  169. }
  170. }
  171. // Funcion que verifica y guarda las conestaciones escogidas. Luego de que una
  172. // es seleccionada, se pasa a la proxima pregunta
  173. function checkAnswer(answer){
  174. if(answer == preguntas[preguntaActual].saludable){
  175. total += 100;
  176. }
  177. else if (answer == preguntas[preguntaActual].masOmenos) {
  178. total += 67;
  179. }
  180. else{
  181. total += 33;
  182. }
  183. if(preguntaActual < ultimaPregunta){
  184. preguntaActual++;
  185. renderPreguntas();
  186. }
  187. else{
  188. verifyResult();
  189. empiezaQuiz();
  190. }
  191. }
  192. // Variables de los botones, que contienen evenlisteners pendientes
  193. // a cual opcion es seleccionada. Cada opcion elegida invoca a
  194. // checkAnswers y clickedOption# para cambiar su color de fondo.
  195. // Esto indicara que fue seleccionado
  196. let op1 = document.getElementById("1");
  197. op1.addEventListener('click', function(){checkAnswer("uno")}, false);
  198. let op2 = document.getElementById("2");
  199. op2.addEventListener('click', function(){checkAnswer("dos")}, false);
  200. let op3 = document.getElementById("3");
  201. op3.addEventListener('click', function(){checkAnswer("tres")}, false);