Advertisement
Guest User

Funktiot, eventit, dom

a guest
Apr 26th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Tehtävät toimivat vain yksinään, sillä monessa on käytetty samoja nimeämisiä
  2. //Funktiotehtävät
  3. 'use strict';
  4. //Tehtävä 1
  5. function muunnos() {
  6. let gallons = +prompt('Anna bensamäärä gallonoina');
  7. alert(gallons*3.785).toFixed(3)+' l';
  8. }
  9. muunnos();
  10.  
  11. //Tehtävä 2
  12. function muunnos(gallons) {
  13.     return (gallons*3.785).toFixed(3)+' l';
  14. }
  15. alert(muunnos(+prompt('Anna bensamäärä gallonoina')));
  16.  
  17. //Tehtävä 3
  18. function itseisarvo(luku) {
  19.     if(luku<0) {
  20.         return luku*(-1);
  21.     }
  22.     return luku;
  23. }
  24. alert(itseisarvo(+prompt('Anna luku'))+' on luvun itseisarvo');
  25.  
  26. //Tehtävä 4
  27. function suurin(a,b,c) {
  28.     let suurinLuku = a;
  29.     if(suurinLuku<b) {
  30.         suurinLuku = b;
  31.     }
  32.     if(suurinLuku<c) {
  33.         suurinLuku = c;
  34.     }
  35.     return suurinLuku;
  36. }
  37. let eka = +prompt('Syötä ensimmäinen luku');
  38. let toka = +prompt('Syötä toinen luku');
  39. let kolmas = +prompt('Syötä kolmas luku');
  40. alert('Suurin luku on '+suurin(eka, toka, kolmas));
  41.  
  42. //Tehtävä 5
  43. function liita(taulukko) {
  44.     let sana = taulukko[0];
  45.     for(let i=1;i<taulukko.length;i++) {
  46.         sana +=taulukko[i];
  47.     }
  48.     return sana;
  49. }
  50. let lista= [];
  51. for(let i=0;;i++) {
  52.     let syote = prompt('Syötä merkkijonon osa (tyhjä pysäyttää)');
  53.     if(syote===''){
  54.         break;
  55.     }
  56.     lista[i] = syote;
  57. }
  58. alert(liita(lista));
  59.  
  60. //Tehtävä 6
  61. function vastaluvuksi(taulukko) {
  62.     for(let i=0;i<taulukko.length;i++) {
  63.         taulukko[i]=taulukko[i]*(-1);
  64.         console.log(taulukko[i]);
  65.         return;
  66.     }
  67. }
  68. let lista= [];
  69. for(let i=0;;i++) {
  70.     let syote = +prompt('Syötä luku (nolla pysäyttää)');
  71.     if(syote===0){
  72.         break;
  73.     }
  74.     lista[i] = syote;
  75. }
  76. vastaluvuksi(lista);
  77.  
  78. //Tehtävä 7
  79. function parilliset(taulukko) {
  80.     let uusiTaulukko = [];
  81.     let x =0;
  82.     for(let i=0; i<taulukko.length;i++) {
  83.         if(taulukko[i]%2 === 0) {
  84.             uusiTaulukko[x] = taulukko[i];
  85.             x++;
  86.         }
  87.     }
  88.     return uusiTaulukko;
  89. }
  90. let lista= [];
  91. for(let i=0;;i++) {
  92.     let syote = +prompt('Syötä luku (nolla pysäyttää)');
  93.     if(syote===0){
  94.         break;
  95.     }
  96.     lista[i] = syote;
  97. }
  98. console.log(parilliset(lista));
  99.  
  100. //Tehtävä 8
  101. function fibbonacci(luku) {
  102.     if(luku<=2 && luku>0) {
  103.         return 1;
  104.     } else if(luku===0){
  105.         return 0;
  106.     }
  107.         return fibbonacci(luku-1)+fibbonacci(luku-2);
  108.     }
  109. }
  110. document.write(fibbonacci(+prompt('Syötä luku')));
  111.  
  112. //Tehtävä 9
  113. const fibb = (a) =>
  114. {
  115.     if(a>2)
  116.         return fibb(a-1)+fibb(a-2);
  117.      else if(a>0)
  118.         return 1;
  119.      else
  120.         return 0;
  121. }
  122. console.log(fibb(+prompt("Syötä luku")));
  123.  
  124. //DOM-tehtävät
  125.  
  126. //Tehtävä 1
  127. let tiedot = document.querySelectorAll('td');
  128. tiedot[0].innerText = 'Pauli';
  129. tiedot[1].innerText = 'Alasaari';
  130. tiedot[2].innerText = 'Paultsa';
  131. tiedot[3].innerText = 'Asdasd 00100 jokupaikka';
  132. const tr = document.querySelectorAll('tr');
  133. const puhelinnumero = document.createTextNode('Puhelinnumero');
  134. const th = document.createElement('th');
  135. tr[0].appendChild(th);
  136. th.appendChild(puhelinnumero);
  137. const td = document.createElement('td');
  138. const tdNumero = document.createTextNode('012 345 6789');
  139. tr[1].appendChild(td);
  140. td.appendChild(tdNumero);
  141. tiedot[2].remove();
  142. document.querySelectorAll('th')[2].remove();
  143.  
  144. //Tehtävä 2
  145. let kuvat = document.querySelectorAll('img');
  146. kuvat[0].style.display = "block";
  147. kuvat[1].classList = "visible";
  148.  
  149. /* CSS
  150. .hidden {
  151.     display: none;
  152. }
  153. .visible {
  154.     display: block;
  155. }
  156. */
  157.  
  158. //Tehtävä 3
  159. const kuvat = [
  160.   'http://placekitten.com/321/240',
  161.   'http://placekitten.com/320/241',
  162.   'http://placekitten.com/322/242',
  163.   'http://placekitten.com/321/240',
  164.   'http://placekitten.com/331/240',
  165. ];
  166. let ul = document.querySelector('ul');
  167. let str = "";
  168. for(let i=0;i<kuvat.length;i++) {
  169.   str += '<li><img src="' + kuvat[i] + '" alt="kuva"/></li>';
  170. }
  171. ul.innerHTML = str;
  172.  
  173. //Tehtävä 4
  174. const kuvat = [
  175.   'http://placekitten.com/321/240',
  176.   'http://placekitten.com/320/241',
  177.   'http://placekitten.com/322/242',
  178.   'http://placekitten.com/321/240',
  179.   'http://placekitten.com/331/240',
  180. ];
  181. let ul = document.querySelector('ul');
  182.  
  183. for(let i=0; i<kuvat.length;i++) {
  184.   let kuva = document.createElement('img');
  185.   kuva.src = kuvat[i];
  186.   kuva.alt = 'Kuva';
  187.   let li = document.createElement('li');
  188.   ul.appendChild(li);
  189.   li.appendChild(kuva);
  190. }
  191.  
  192. //Tehtävä 5 CSS
  193. /*
  194. ul {
  195.     list-style-type: none;
  196. }
  197.  
  198. li:nth-of-type(2n) {
  199.     background: grey;
  200. }
  201. */
  202.  
  203. //Tehtävä 6
  204. function clock() {
  205. var date = new Date();
  206. var hour = date.getHours();
  207. var min = date.getMinutes();
  208. var sec = date.getSeconds();
  209. var kello = document.querySelector('#kello');
  210. if(hour<10) {
  211.     hour = '0'+hour;
  212. }
  213. if(min<10) {
  214.     min = '0'+min;
  215. }
  216. if(sec<10) {
  217.     sec = '0' + sec;
  218. }
  219.     kello.innerHTML = hour + ':' + min + ':' + sec;
  220. }
  221. setInterval(clock, 1000);
  222.  
  223. //Event-tehtävät
  224. //Tehtävä 1
  225. const nappi = document.querySelector('button');
  226. function popup() {
  227.     alert('Nappia klikattu');
  228. }
  229. nappi.onclick = popup;
  230.  
  231. //Tehtävä 2
  232. 'use strict';
  233. const img = document.querySelector('img');
  234. function show() {
  235.     const p = document.querySelector('p');
  236.     p.style.display = 'block';
  237. }
  238. function hide() {
  239.     const p = document.querySelector('p');
  240.     p.style.display = 'none';
  241. }
  242. img.onmouseenter = show;
  243. img.onmouseleave = hide;
  244.  
  245. //Tehtävä 3
  246. 'use strict';
  247.  
  248. const summa = document.querySelector('#sum');
  249. const vahennys = document.querySelector('#sub');
  250. const tulo = document.querySelector('#multi');
  251. const jako = document.querySelector('#div');
  252. const p = document.querySelector('#vastaus');
  253.  
  254. function sum(evt) {
  255.     const eka = +document.querySelector('input[name=numero1]').value;
  256.     const toka = +document.querySelector('input[name=numero2]').value;
  257.     p.innerText = eka+toka;
  258. }
  259. function vah(evt) {
  260.     const eka = +document.querySelector('input[name=numero1]').value;
  261.     const toka = +document.querySelector('input[name=numero2]').value;
  262.     p.innerText = eka-toka;
  263. }
  264. function tul(evt) {
  265.     const eka = +document.querySelector('input[name=numero1]').value;
  266.     const toka = +document.querySelector('input[name=numero2]').value;
  267.     p.innerText = eka*toka;
  268. }
  269. function jak(evt) {
  270.     const eka = +document.querySelector('input[name=numero1]').value;
  271.     const toka = +document.querySelector('input[name=numero2]').value;
  272.     p.innerText = eka/toka;
  273. }
  274. summa.onclick = sum;
  275. vahennys.onclick = vah;
  276. tulo.onclick = tul;
  277. jako.onclick = jak;
  278.  
  279. //Tehtävä 4A
  280. const pics = [
  281.   {
  282.     thumb: 'http://www.fillmurray.com/100/100',
  283.     big: 'http://www.fillmurray.com/640/480',
  284.   },
  285.   {
  286.     thumb: 'http://lorempixel.com/100/100/sports/1/',
  287.     big: 'http://lorempixel.com//640/480/sports/1/',
  288.   },
  289.   {
  290.     thumb: 'https://placeimg.com/100/100/tech',
  291.     big: 'https://placeimg.com/640/480/tech',
  292.   },
  293. ];
  294. let isoKuva = document.getElementsByTagName('div')[0];
  295. let ul = document.querySelector('ul');
  296. let str = "";
  297. for(let i=0;i<pics.length;i++) {
  298.     str += '<li><img src="' + pics[i].thumb + '" alt="kuva"/></li>';
  299. }
  300. ul.innerHTML = str;
  301. isoKuva.classList.add('visible');
  302. let listanjasenet = document.getElementsByTagName('li');
  303.  
  304. for(let i=0;i<listanjasenet.length;i++) {
  305.     listanjasenet[i].addEventListener('click', e => {
  306.     let div = document.querySelector('div');
  307.     div.innerHTML = '<img src="'+pics[i].big+'" alt=kuva/>';
  308.     isoKuva.classList = 'visible';
  309.   });
  310. }
  311.  
  312.  
  313. isoKuva.addEventListener('click', e => {
  314.   isoKuva.classList = 'hidden';
  315. });
  316.  
  317. //Tehtävä 4B
  318. const pics = [
  319.   {
  320.     thumb: 'http://www.fillmurray.com/100/100',
  321.     big: 'http://www.fillmurray.com/640/480',
  322.   },
  323.   {
  324.     thumb: 'http://lorempixel.com/100/100/sports/1/',
  325.     big: 'http://lorempixel.com//640/480/sports/1/',
  326.   },
  327.   {
  328.     thumb: 'https://placeimg.com/100/100/tech',
  329.     big: 'https://placeimg.com/640/480/tech',
  330.   },
  331. ];
  332. let isoKuva = document.getElementsByTagName('div')[0];
  333. let ul = document.querySelector('ul');
  334. for(let i=0;i<pics.length;i++) {
  335.   let li = document.createElement('li');
  336.   let img = document.createElement('img');
  337.   img.src = pics[i].thumb;
  338.   img.alt = 'thumbnail';
  339.   li.appendChild(img);
  340.   ul.appendChild(li);
  341. }
  342. isoKuva.classList.add('visible');
  343. let listanjasenet = document.getElementsByTagName('li');
  344.  
  345. for(let i=0;i<listanjasenet.length;i++) {
  346.   listanjasenet[i].addEventListener('click', e => {
  347.     isoKuva.innerHTML="";
  348.     let img = document.createElement('img');
  349.     img.src = pics[i].big;
  350.     img.alt = 'picture';
  351.     isoKuva.appendChild(img);
  352.     isoKuva.classList = 'visible';
  353.   });
  354. }
  355.   isoKuva.addEventListener('click', e => {
  356.       isoKuva.classList = 'hidden';
  357.   });
  358.  
  359. /* Teht 4 CSS
  360. ul {
  361.             list-style-type: none;
  362.         }
  363.         .hidden {
  364.             display: none;
  365.         }
  366.         .visible {
  367.             display: block;
  368.         }
  369. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement