Update information script
Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
		
							
								
								
									
										52
									
								
								assets/javascript/scriptx.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								assets/javascript/scriptx.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | |||||||
|  | 'use strict'; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @param {String} artistTrack - Artist of the track | ||||||
|  |  * @param {String} titleTrack - Name of the track | ||||||
|  |  * @description Updates the data on the page. Displays a pop-up window if the | ||||||
|  |  * data has changed. | ||||||
|  |  */ | ||||||
|  | function updateData(artistTrack, titleTrack) { | ||||||
|  |   /* Gets items on the page */ | ||||||
|  |   var displayElement = document.getElementById('display'); | ||||||
|  |   var artistElement = document.getElementById('artist'); | ||||||
|  |   var titleElement = document.getElementById('title'); | ||||||
|  |  | ||||||
|  |   if (artistElement.innerHTML !== artistTrack || titleElement.innerHTML !== titleTrack) { | ||||||
|  |     /* Updates text */ | ||||||
|  |     artistElement.innerHTML = artistTrack; | ||||||
|  |     titleElement.innerHTML = titleTrack; | ||||||
|  |  | ||||||
|  |     /* Displays a pop-up window */ | ||||||
|  |     displayElement.style['animation-name'] = 'fadeIn'; | ||||||
|  |  | ||||||
|  |     setTimeout(function () { | ||||||
|  |       /* Removes a pop-up window */ | ||||||
|  |       displayElement.style['animation-name'] = 'fadeOut'; | ||||||
|  |     }, 3000); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var client = new XMLHttpRequest(); | ||||||
|  | var url = 'https://somafm.com/songs/defcon.xml'; | ||||||
|  |  | ||||||
|  | /* Processes response */ | ||||||
|  | client.onload = function () { | ||||||
|  |   if (client.readyState === client.DONE) { | ||||||
|  |     if (this.status === 200 && this.responseXML !== null) { | ||||||
|  |       /* Gets current track */ | ||||||
|  |       var current = this.responseXML.getElementsByTagName('song')[0]; | ||||||
|  |       var artist = current.getElementsByTagName('artist')[0].textContent; | ||||||
|  |       var title = current.getElementsByTagName('title')[0].textContent; | ||||||
|  |  | ||||||
|  |       /* Updates data */ | ||||||
|  |       updateData(artist, title); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | /* Update cycle */ | ||||||
|  | setInterval(function () { | ||||||
|  |   client.open('GET', url); | ||||||
|  |   client.send(); | ||||||
|  | }, 5000); | ||||||
		Reference in New Issue
	
	Block a user