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