@@ -4,7 +4,7 @@ document.addEventListener("DOMContentLoaded", function () {
44 "/images/partnerships/kinaxis_presentation.png" ,
55 "/images/partnerships/cisco-talk.png" ,
66 "/images/partnerships/big-group-seminar-room.png" ,
7- "/images/partnerships/kinaxis_group_talking .png" ,
7+ "/images/partnerships/kinaxis-group-talking .png" ,
88 "/images/partnerships/jobuary_panel.png" ,
99 ] ;
1010
@@ -17,13 +17,25 @@ document.addEventListener("DOMContentLoaded", function () {
1717 var slideshowStarted = false ;
1818 var observer ;
1919
20+ // Preload all images
21+ function preloadImages ( urls , callback ) {
22+ let loaded = 0 ;
23+ let total = urls . length ;
24+ urls . forEach ( function ( url ) {
25+ const img = new Image ( ) ;
26+ img . onload = img . onerror = function ( ) {
27+ loaded ++ ;
28+ if ( loaded === total ) callback ( ) ;
29+ } ;
30+ img . src = url ;
31+ } ) ;
32+ }
33+
2034 function startPartnershipsSlideshow ( ) {
2135 if ( slideshowStarted ) return ;
2236 slideshowStarted = true ;
23- // Set initial images
2437 partnershipsFront . style . backgroundImage = `url('${ partnershipUrls [ 0 ] } ')` ;
2538 partnershipsBack . style . backgroundImage = `url('${ partnershipUrls [ 0 ] } ')` ;
26-
2739 function nextSlide ( ) {
2840 partnershipSlideshowIndex =
2941 ( partnershipSlideshowIndex + 1 ) % partnershipUrls . length ;
@@ -40,25 +52,25 @@ document.addEventListener("DOMContentLoaded", function () {
4052 } , partnershipFadeDuration ) ;
4153 setTimeout ( nextSlide , partnershipImageTransitionDuration ) ;
4254 }
43-
4455 function changePartnershipsImage ( header , imagePath ) {
4556 header . style . backgroundImage = `url('${ imagePath } ')` ;
4657 }
47-
4858 setTimeout ( nextSlide , partnershipImageTransitionDuration ) ;
4959 }
5060
5161 if ( partnershipsFront && partnershipsBack ) {
52- observer = new IntersectionObserver (
53- function ( entries ) {
54- if ( entries [ 0 ] . isIntersecting ) {
55- startPartnershipsSlideshow ( ) ;
56- observer . disconnect ( ) ;
57- }
58- } ,
59- { threshold : 0.2 }
60- ) ;
61- observer . observe ( partnershipsFront ) ;
62+ preloadImages ( partnershipUrls , function ( ) {
63+ observer = new IntersectionObserver (
64+ function ( entries ) {
65+ if ( entries [ 0 ] . isIntersecting ) {
66+ startPartnershipsSlideshow ( ) ;
67+ observer . disconnect ( ) ;
68+ }
69+ } ,
70+ { threshold : 0.2 }
71+ ) ;
72+ observer . observe ( partnershipsFront ) ;
73+ } ) ;
6274 } else {
6375 console . error ( "Partnerships slideshow elements not found." ) ;
6476 }
0 commit comments