No edit summary |
No edit summary |
||
| Line 15: | Line 15: | ||
function setMainImage(imageHtml) { | function setMainImage(imageHtml) { | ||
var mainImageDiv = document.querySelector('.mainImage'); | var mainImageDiv = document.querySelector('.mainImage'); | ||
mainImageDiv.innerHTML = imageHtml; | mainImageDiv.innerHTML = imageHtml + '<div class="loadingBar"></div>'; | ||
resetLoadingBar(); | |||
} | |||
function resetLoadingBar() { | |||
var loadingBar = document.querySelector('.loadingBar'); | |||
loadingBar.style.width = '0%'; // Reset the width | |||
// Start filling the bar | |||
var intervalTime = 10000; // Same as image rotation interval | |||
var stepTime = 100; // Update every 100 milliseconds | |||
var steps = intervalTime / stepTime; | |||
var currentStep = 0; | |||
var fillBar = setInterval(function() { | |||
currentStep++; | |||
var newWidth = (currentStep / steps) * 100; | |||
loadingBar.style.width = newWidth + '%'; | |||
if (currentStep >= steps) { | |||
clearInterval(fillBar); | |||
} | |||
}, stepTime); | |||
} | } | ||
Revision as of 14:00, 31 January 2024
/* Any JavaScript here will be loaded for all users on every page load. */
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
$(content).toggle('fast');
});
}
function setMainImage(imageHtml) {
var mainImageDiv = document.querySelector('.mainImage');
mainImageDiv.innerHTML = imageHtml + '<div class="loadingBar"></div>';
resetLoadingBar();
}
function resetLoadingBar() {
var loadingBar = document.querySelector('.loadingBar');
loadingBar.style.width = '0%'; // Reset the width
// Start filling the bar
var intervalTime = 10000; // Same as image rotation interval
var stepTime = 100; // Update every 100 milliseconds
var steps = intervalTime / stepTime;
var currentStep = 0;
var fillBar = setInterval(function() {
currentStep++;
var newWidth = (currentStep / steps) * 100;
loadingBar.style.width = newWidth + '%';
if (currentStep >= steps) {
clearInterval(fillBar);
}
}, stepTime);
}
function addClickEventToImages() {
var images = document.querySelectorAll('.carousel .dpImage');
images.forEach(function(image, index) {
image.addEventListener('click', function() {
setMainImage(this.innerHTML);
currentIndex = index; // Update the current index
});
});
}
var currentIndex = 0;
function rotateImages() {
var images = document.querySelectorAll('.carousel .dpImage');
setInterval(function() {
if (currentIndex >= images.length) {
currentIndex = 0;
}
setMainImage(images[currentIndex].innerHTML);
currentIndex++;
}, 10000); // Rotates every 10000 milliseconds (10 seconds)
}
// Call the functions when the window loads
window.onload = function() {
addClickEventToImages();
rotateImages();
setMainImage(document.querySelector('.carousel .dpImage').innerHTML); // Set the first image as the default
};