PageSourceSearch

https://celerispay.com/wp-content/themes/Divi-child/assets/js/home-script.js?ver=2.1.10

js celerispay.com collected 2026-10-01 15:34:34 UTC 9,858 bytes, 332 lines download raw bytes

1// Home Page animation
2
3var observer = new IntersectionObserver(function(entries) {
4    entries.forEach(function(entry) {
5        if (entry.isIntersecting) {
6            entry.target.style.visibility = 'visible';
7            entry.target.style.animationPlayState = 'running';
8        } else {
9            entry.target.style.visibility = 'hidden';
10            entry.target.style.animationPlayState = 'paused';
11        }
12    });
13});
14
15document.querySelectorAll('.para-text-bold, .know-more').forEach(function(el) {
16    observer.observe(el);
17});
18
19
20
21// // Jquery
22// jQuery(document).ready(function() {
23	
24// 	jQuery('.features ul li').on('click', function(){
25// // 		console.log('removed class et_pb_tab_active')
26// 		jQuery('.features ul li').removeClass('et_pb_tab_active');
27// // 		console.log('add class et_pb_tab_active');
28// 		jQuery(this).addClass('et_pb_tab_active');
29// 	});
30	
31	
32//     // alert('hello');
33// 	jQuery('.features ul li a').focus(function() {
34// 		// Action to be performed when the link is focused
35// 		jQuery(this).css('outline', 'none');
36// 		jQuery(this).css('box-shadow', 'none');
37// 	});
38//     jQuery('.header-card-slider').slick({
39//         centerMode: true,
40//         centerPadding: '0px',
41//         slidesToShow: 3,
42//         autoplay: true,
43//         autoplaySpeed: 3000,
44//         responsive: [
45//             {
46//                 breakpoint: 1024,
47//                 settings: {
48//                     arrows: false,
49//                     centerMode: true,
50//                     centerPadding: '0px',
51//                     slidesToShow: 3
52//                 }
53//             },
54//             {
55//                 breakpoint: 768,
56//                 settings: {
57//                     arrows: false,
58//                     centerMode: true,
59//                     centerPadding: '0px',
60//                     slidesToShow: 3,
61//                 }
62//             },
63//             {
64//                 breakpoint: 480,
65//                 settings: {
66//                     arrows: false,
67//                     centerMode: true,
68//                     centerPadding: '0px',
69//                     slidesToShow: 3,
70//                 }
71//             }
72//         ]
73//     });
74		
75// });
76
77// let marqueeElement2 = document.querySelectorAll('.client-slider');
78// function stopClient() {
79//     marqueeElement2.forEach(item => {
80
81//         item.style.animationPlayState = 'paused';
82//     })
83// }
84// function startClient() {
85//     marqueeElement2.forEach(item => {
86
87//         item.style.animationPlayState = 'running';
88//     })
89// }
90
91
92// jQuery(document).ready(function ($) {
93//   // Wait until window.lottie is available
94//   function waitForLottie(timeout = 5000) {
95//     return new Promise((resolve, reject) => {
96//       if (typeof window.lottie !== "undefined") {
97//         return resolve(window.lottie);
98//       }
99
100//       const start = Date.now();
101//       const check = () => {
102//         if (typeof window.lottie !== "undefined") {
103//           resolve(window.lottie);
104//         } else if (Date.now() - start >= timeout) {
105//           reject(new Error("Lottie not available within timeout."));
106//         } else {
107//           requestAnimationFrame(check);
108//         }
109//       };
110//       check();
111//     });
112//   }
113
114//   // Animation config list
115//   var animations = [
116//     { id: "lottie-routing", json: "/wp-content/uploads/2026/07/jsonformatter2.txt", key: "routing" },
117//     { id: "lottie-automatedRC", json: "/wp-content/uploads/2024/05/automatedRC.json", key: "automated" },
118//     { id: "lottie-paybylink", json: "/wp-content/uploads/2024/05/pbl.json", key: "bylink" },
119//     { id: "lottie-NT", json: "/wp-content/uploads/2024/05/networkToken.json", key: "network" },
120//     { id: "lottie-recurring", json: "/wp-content/uploads/2024/05/subscription-engine.json", key: "recurring" },
121//     { id: "lottie-flows", json: "/wp-content/uploads/2026/07/integration_flow.json", key: "flow" }
122//   ];
123
124//   // Assign data-animation-name attributes to list items
125//   $(".features ul li").each(function (index) {
126//     if (animations[index]) {
127//       $(this).attr("data-animation-name", animations[index].key);
128//     }
129//   });
130
131//   // When Lottie is available, load animations
132//   waitForLottie().then(function (lottie) {
133//     window.animation = window.animation || {};
134
135//     $.each(animations, function (i, anim) {
136//       $.getJSON(anim.json, function (result) {
137//         var params = {
138//           container: document.getElementById(anim.id),
139//           renderer: "svg",
140//           loop: true,
141//           autoplay: true,
142//           animationData: result,
143//         };
144//         var loadedAnim = lottie.loadAnimation(params);
145//         window.animation[anim.key] = loadedAnim;
146//       });
147//     });
148
149//     // Attach click behavior after animations are registered
150//     $('[data-animation-name]').on("click", function (e) {
151//       e.preventDefault();
152//       e.stopPropagation();
153
154//       var $clicked = $(this);
155//       var $siblings = $clicked.parent().find("li");
156
157//       $siblings.each(function () {
158//         var animName = $(this).data("animation-name");
159//         if (window.animation[animName]) {
160//           window.animation[animName].stop();
161//         }
162//       });
163
164//       var whichAnimation = window.animation[$clicked.data("animation-name")];
165//       if (whichAnimation) {
166//         whichAnimation.play();
167//       }
168//     });
169//   }).catch(function (err) {
170//     console.error("Lottie failed to load:", err.message);
171//   });
172// });
173
174jQuery(function ($) {
175  "use strict";
176
177  const config = [
178    ["lottie-routing", "/wp-content/uploads/2026/07/tr-4.json"],
179    ["lottie-automatedRC", "/wp-content/uploads/2026/07/automate.json"],
180    ["lottie-paybylink", "/wp-content/uploads/2026/07/qr_code_animation.json"],
181    ["lottie-NT", "/wp-content/uploads/2024/05/networkToken.json"],
182    ["lottie-recurring", "/wp-content/uploads/2026/07/reccuring-txn.json"],
183    ["lottie-flows", "/wp-content/uploads/2026/07/integration_flow.json"]
184  ];
185
186  const $tabs = $(".features ul li");
187  const animations = [];
188  let timer = null;
189  let activeIndex = -1;
190
191  if (!$tabs.length) return;
192
193  function syncAnimation() {
194    clearTimeout(timer);
195
196    timer = setTimeout(function () {
197      const index = $tabs.index(
198        $tabs.filter(".et_pb_tab_active").first()
199      );
200
201      if (index < 0 || !animations[index]) return;
202      if (index === activeIndex && !animations[index].isPaused) return;
203
204      activeIndex = index;
205
206      animations.forEach(function (animation, i) {
207        if (!animation) return;
208
209        if (i === index) {
210          animation.resize();
211          animation.goToAndPlay(0, true);
212        } else {
213          animation.pause();
214        }
215      });
216		// Center active tab on mobile
217    if (window.innerWidth <= 767) {
218	  const activeTab = $tabs.eq(index)[0];
219
220	  if (activeTab) {
221		const container = activeTab.parentElement;
222
223		const target =
224		  activeTab.offsetLeft -
225		  (container.clientWidth - activeTab.offsetWidth) / 2;
226
227		const maxScroll = container.scrollWidth - container.clientWidth;
228
229		container.scrollTo({
230		  left: Math.max(0, Math.min(target, maxScroll)),
231		  behavior: "smooth"
232		});
233	  }
234	}
235    }, 150);
236  }
237
238  function init() {
239    config.forEach(function ([id, url], index) {
240      const container = document.getElementById(id);
241
242      if (!container) return;
243
244      $.getJSON(url)
245        .done(function (data) {
246          const animation = window.lottie.loadAnimation({
247            container,
248            renderer: "svg",
249            loop: true,
250            autoplay: false,
251            animationData: data
252          });
253
254          animations[index] = animation;
255
256          animation.addEventListener("DOMLoaded", syncAnimation);
257        })
258        .fail(function () {
259          console.error("[Lottie] Failed:", url);
260        });
261    });
262
263    $tabs
264      .off("click.celerisLottie")
265      .on("click.celerisLottie", syncAnimation);
266
267    $(".features ul li a")
268      .off("focus.celerisLottie")
269      .on("focus.celerisLottie", function () {
270        this.style.outline = "none";
271        this.style.boxShadow = "none";
272      });
273  }
274
275  function waitForLottie(timeout = 5000) {
276    const start = performance.now();
277
278    function check() {
279      if (window.lottie) {
280        init();
281        return;
282      }
283
284      if (performance.now() - start >= timeout) {
285        console.error("[Lottie] Library not available.");
286        return;
287      }
288
289      requestAnimationFrame(check);
290    }
291
292    check();
293  }
294
295  waitForLottie();
296});
297
298
299
300// Section 9
301jQuery(document).ready(function(){
302  // map safe IDs -> canonical URLs (server-controlled JS file)
303  const urlMap = {
304    'celeris-card-1': 'https://celerispay.com/celeris-and-payplug-announce-strategic-partnership/',
305    'celeris-card-2': 'https://celerispay.com/celeris-integrates-with-paysafe-acquirer/',
306    'celeris-card-3': 'https://celerispay.com/celeris-unveils-strategic-integration-with-unlimit/',
307    'celeris-card-4': 'https://celerispay.com/alto-global-processing-partnering-with-celeris/'
308  };
309
310  // simple validator: only allow https and our domain
311  function isAllowedUrl(urlStr){
312    try{
313      const u = new URL(urlStr);
314      return (u.protocol === 'https:' && (u.hostname === 'celerispay.com' || u.hostname.endsWith('.celerispay.com')));
315    }catch(e){
316      return false;
317    }
318  }
319
320  // delegate click on the wrapper (faster and resilient to dynamic cards)
321  jQuery('.hm-section-9 .celeris-row-1 .celeris-card-wrapper').on('click', '[id^="celeris-card-"]', function(e){
322    const id = this.id;
323    const url = urlMap[id];
324    if (url && isAllowedUrl(url)) {
325      // we can use location.assign which is clearer semantically
326      window.location.assign(url);
327    } else {
328      console.warn('Blocked or unknown redirect for', id);
329    }
330  });
331});
332

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.