Guest User

Winkeldisplay

a guest
Dec 29th, 2016
1,029
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 6.36 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <title>Winkeldisplay</title>
  6.  
  7.     <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
  8.  
  9.     <style>
  10.       body {
  11.         margin: 0;
  12.         color: #ecf0f1;
  13.         font-family: 'Lato', sans-serif;
  14.         height: 100vh;
  15.       }
  16.  
  17.       #boven {
  18.         height: calc(100% / 3);
  19.       }
  20.  
  21.       #boven > * {
  22.         display: inline-block;
  23.         height: 100%;
  24.         width: calc(100vw / 3);
  25.       }
  26.  
  27.       #weer {
  28.         background-color: #f1c40f;
  29.         float: left;
  30.         text-align: center;
  31.         font-size: 3vh;
  32.         display: flex;
  33.         justify-content: center;
  34.         align-items: center;
  35.         flex-direction: column;
  36.       }
  37.  
  38.       #weer > * {
  39.         display: block;
  40.       }
  41.  
  42.       #icoon {
  43.         height: 48px;
  44.         display: inline-block;
  45.         vertical-align: middle;
  46.       }
  47.  
  48.       #zin {
  49.         display: inline-block;
  50.       }
  51.  
  52.       #temperatuur {
  53.         font-size: 6vh;
  54.       }
  55.  
  56.       #nieuws {
  57.         background-color: #3498db;
  58.         float: left;
  59.         font-size: 2vh;
  60.       }
  61.  
  62.       #nieuws ul {
  63.         height: 100%;
  64.         margin: 0;
  65.         overflow: hidden;
  66.       }
  67.  
  68.       #klok {
  69.         background-color: #9b59b6;
  70.         float: left;
  71.         text-align: center;
  72.         display: flex;
  73.         justify-content: center;
  74.         align-items: center;
  75.         flex-direction: column;
  76.       }
  77.  
  78.       #tijd {
  79.         font-size: 8vh;
  80.       }
  81.  
  82.       #datum {
  83.         font-size: 3vh;
  84.       }
  85.  
  86.       #beneden {
  87.         height: calc(100% / 1.5);
  88.       }
  89.  
  90.       #artikelen {
  91.         height: 100%;
  92.         background-color: #2ecc71;
  93.         display: flex;
  94.         justify-content: center;
  95.         align-items: center;
  96.       }
  97.  
  98.       #artikelen img {
  99.         max-height: 100%;
  100.         max-width: 100%;
  101.       }
  102.     </style>
  103.   </head>
  104.   <body>
  105.     <div id="boven">
  106.       <div id="weer">
  107.         <div id="actueel">
  108.           <img id="icoon">
  109.           <span id="zin"></span>
  110.         </div>
  111.         <span id="temperatuur"></span>
  112.         <span id="luchtvochtigheid"></span>
  113.         <span id="windrichting"></span>
  114.       </div>
  115.       <div id="nieuws"></div>
  116.       <div id="klok">
  117.         <div id="tijd"></div>
  118.         <div id="datum"></div>
  119.       </div>
  120.     </div>
  121.  
  122.     <div id="beneden">
  123.       <div id="artikelen">
  124.         <img src="https://upload.wikimedia.org/wikipedia/commons/5/53/Apple_in_lightbox.png">
  125.         <img src="https://upload.wikimedia.org/wikipedia/commons/0/0d/Yet_another_pear.jpg">
  126.       </div>
  127.     </div>
  128.  
  129.  
  130.     <script>
  131.       function weatherReqListener () {
  132.         var oParser = new DOMParser()
  133.         var oDOM = oParser.parseFromString(this.responseText, 'text/xml')
  134.         var weerstation = oDOM.getElementById('6375') // verander nummer voor een ander weerstation
  135.  
  136.         var luchtvochtigheid = weerstation.querySelector('luchtvochtigheid').textContent
  137.         var temperatuurGC = weerstation.querySelector('temperatuurGC').textContent
  138.         var temperatuur10cm = weerstation.querySelector('temperatuur10cm').textContent
  139.         var windrichting = weerstation.querySelector('windrichting').textContent
  140.         var zin = weerstation.querySelector('icoonactueel').getAttribute('zin')
  141.         var icoon = weerstation.querySelector('icoonactueel').textContent
  142.  
  143.         var DOMicoon = document.getElementById('icoon')
  144.         var DOMzin = document.getElementById('zin')
  145.         var DOMtemperatuur = document.getElementById('temperatuur')
  146.         var DOMluchtvochtigheid = document.getElementById('luchtvochtigheid')
  147.         var DOMwindrichting = document.getElementById('windrichting')
  148.  
  149.         DOMicoon.setAttribute('src', icoon)
  150.         DOMzin.textContent = zin
  151.         DOMtemperatuur.textContent = `${temperatuurGC} °C / ${temperatuur10cm} °C`
  152.         DOMluchtvochtigheid.textContent = `Luchtvochtigheid: ${luchtvochtigheid} %`
  153.         DOMwindrichting.textContent = `Windrichting: ${windrichting}`
  154.       }
  155.  
  156.       function weatherReq () {
  157.         var oReq = new XMLHttpRequest()
  158.         oReq.addEventListener('load', weatherReqListener)
  159.         oReq.open('GET', 'http://xml.buienradar.nl/')
  160.         oReq.send()
  161.       }
  162.  
  163.       weatherReq()
  164.       setInterval(weatherReq, 60000)
  165.  
  166.       function newsReqListener () {
  167.         var oParser = new DOMParser()
  168.         var oDOM = oParser.parseFromString(this.responseText, 'text/xml')
  169.  
  170.         var toAppend = ['<ul>']
  171.  
  172.         oDOM.querySelectorAll('title').forEach((title, index) => {
  173.           if (index !== 0) {
  174.             toAppend.push(`<li>${title.textContent}</li>`)
  175.           }
  176.         })
  177.  
  178.         toAppend.push('<ul>')
  179.  
  180.         document.getElementById('nieuws').innerHTML = toAppend.join('')
  181.       }
  182.  
  183.       function newsReq () {
  184.         var oReq = new XMLHttpRequest()
  185.         oReq.addEventListener('load', newsReqListener)
  186.         oReq.open('GET', 'http://www.rtlnieuws.nl/service/rss/nederland/index.xml')
  187.         oReq.send()
  188.       }
  189.  
  190.       newsReq()
  191.       setInterval(newsReq, 60000)
  192.  
  193.       function clock () {
  194.         var date = new Date()
  195.  
  196.         var tijd = `${date.getHours()}:${date.getMinutes()}`
  197.         var datum = `${['maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag'][date.getDay()]} ${date.getDate()} ${['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'][date.getMonth()]} ${date.getFullYear()}`
  198.  
  199.         var DOMtijd = document.getElementById('tijd')
  200.         var DOMdatum = document.getElementById('datum')
  201.  
  202.         DOMtijd.textContent = tijd
  203.         DOMdatum.textContent = datum
  204.       }
  205.  
  206.       clock()
  207.       setInterval(clock, 1000)
  208.  
  209.       function articles () {
  210.         if (window.article === undefined) {
  211.           window.article = -1
  212.         }
  213.  
  214.         var articles = document.querySelectorAll('#artikelen img')
  215.  
  216.         if (window.article === articles.length - 1) {
  217.           window.article = 0
  218.         } else {
  219.           window.article += 1
  220.         }
  221.  
  222.         articles.forEach((article, index) => {
  223.           if (index !== window.article) {
  224.             article.style.display = 'none'
  225.           } else {
  226.             article.style.display = 'block'
  227.           }
  228.         })
  229.       }
  230.  
  231.       articles()
  232.       setInterval(articles, 5000)
  233.     </script>
  234.   </body>
  235. </html>
Advertisement
Add Comment
Please, Sign In to add comment