Advertisement
nrzmalik

Progressbar in Articulate Storyline

Feb 8th, 2024 (edited)
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.97 KB | Source Code | 0 0
  1. function createProgressBar() {
  2.   let player = GetPlayer();
  3.   let progressValue = player.GetVar("Progress");
  4.   let tabsDiv = document.getElementById('tabs');
  5.  
  6.   if (!document.getElementById('progressContainer')) {
  7.     let progressContainer = document.createElement('div');
  8.     progressContainer.id = 'progressContainer';
  9.     progressContainer.style.cssText = 'height:5px; width:100%; margin-top:5px; background-color: rgba(255, 255, 255, 0.5);';
  10.  
  11.     let progressBar = document.createElement('div');
  12.     progressBar.id = 'progressbar';
  13.     progressBar.style.cssText = 'height:5px; width:0%; transition: width 1s;';
  14.  
  15.     let progressText = document.createElement('div');
  16.     progressText.innerHTML = progressValue + '% Completed';
  17.     progressText.style.cssText = 'text-align:center; width:100%; position:absolute;';
  18.  
  19.     progressContainer.appendChild(progressBar);
  20.     progressContainer.appendChild(progressText);
  21.     tabsDiv.appendChild(progressContainer);
  22.  
  23.     updateProgressBarStyle(progressBar, progressValue);
  24.   }
  25. }
  26.  
  27. function updateProgressBarStyle(progressBar, value) {
  28.   let color = getComputedStyle(document.querySelector('.selected-animation-done'), ':after').getPropertyValue('background-color');
  29.   progressBar.style.backgroundColor = color;
  30.   let colorRGB = color.match(/\d+/g);
  31.   let lighterColor = `rgba(${Math.min(255, colorRGB[0] * 1.2)}, ${Math.min(255, colorRGB[1] * 1.2)}, ${Math.min(255, colorRGB[2] * 1.2)}, 0.5)`;
  32.   document.getElementById('progressContainer').style.backgroundColor = lighterColor;
  33.   progressBar.style.width = value + '%';
  34. }
  35.  
  36. function updateProgressBar(newValue) {
  37.   let progressBar = document.getElementById('progressbar');
  38.   let progressText = document.querySelector('#progressContainer div:last-child');
  39.   progressBar.style.width = newValue + '%';
  40.   progressText.innerHTML = newValue + '% Completed';
  41. }
  42.  
  43. createProgressBar();
  44.  
  45. let player = GetPlayer();
  46. let progressValue = player.GetVar("Progress");
  47. updateProgressBar(progressValue);
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement