1$('[data-target="#tryForFreeModal"]').on("click", function(event) { 2 console.log('demo'); 3 event.preventDefault(); 4 self.location = 'https://resources.tenex.io/schedule-tenex-demo'; 5 return false; 6}); 7$(document).ready(function () { 8 9 $(".language-switch").on("change", function() { 10 self.location = '/'+$(this).val(); 11 }); 12 13 $(".testimonial-slider").owlCarousel({ 14 items:1, 15 margin:30, 16}) 17 // Add smooth scrolling to all links 18 $("a#home_page, #platform_page, #solutions_page, #who_we_help_page, #about_us_page").on("click", function (event) { 19 // Make sure this.hash has a value before overriding default behavior 20 if (this.hash !== "") { 21 // Prevent default anchor click behavior 22 event.preventDefault(); 23 // Store hash 24 var hash = this.hash; 25 // Using jQuery's animate() method to add smooth page scroll 26 // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area 27 $("html, body").animate({ 28 scrollTop: $(hash).offset().top 29 }, 30 800, 31 function () { 32 // Add hash (#) to URL when done scrolling (default click behavior) 33 window.location.hash = hash; 34 } 35 ); 36 } // End if 37 }); 38 39 if ($(" #testimonials").length > 0) { 40 $(" #testimonials").slick({ 41 autoplay: true, 42 autoplaySpeed: 2000, 43 slide: ".testimonial-card", 44 // adaptiveHeight: true, 45 // centerMode: true, 46 variableWidth: true, 47 centerPadding: '160px 500px', 48 dots: false, 49 infinite: true, 50 slidesToShow: $(window).width() <= 500 ? 1 : 3, 51 slidesToScroll: 1, 52 rows: 1, 53 arrows: true, 54 cssEase: 'ease-out', 55 56 appendArrows: $(window).width() <= 500 ? ".slick-arrows-xs" : ".slick-arrows-lg", 57 prevArrow: ' <button class="btn btn-link btn-scroll-prev" id="btnPREV"><i class="fa fa-lg fa-arrow-left"aria-hidden="true"></i></button>', 58 nextArrow: '<button class="btn btn-link btn-scroll-next" id="btnNEXT"><i class="fa fa-lg fa-arrow-right"aria-hidden="true"></i></button>' 59 }); 60 } 61 62 //if ($(" .testimonials").length > 0) { 63 $(" .testimonials").slick({ 64 // autoplay: true, 65 // autoplaySpeed: 2000, 66 // infinite: true, 67 arrows: false, 68 dots: true 69 }); 70 //} 71 72 $('.custom-select').selectpicker(); 73 74 $(".partner-slider-section").owlCarousel({ 75 loop:true, 76 margin:10, 77 nav:true, 78 dots: false, 79 autoplay:true, 80autoplayTimeout:3000, 81autoplayHoverPause:true, 82 navText: ["<i class='icon-button-next-2'></i>","<i class='icon-button-next'></i>"], 83 responsive:{ 84 0:{ 85 items:1 86 }, 87 600:{ 88 items:3 89 }, 90 1000:{ 91 items:5 92 } 93 } 94}); 95 96 97 $(".partner-slider-section-mobile").owlCarousel({ 98 loop:true, 99 margin:10, 100 nav:false, 101 dots: true, 102 autoplay:true, 103autoplayTimeout:3000, 104autoplayHoverPause:true, 105 responsive:{ 106 0:{ 107 items:1 108 }, 109 600:{ 110 items:3 111 }, 112 1000:{ 113 items:5 114 } 115 } 116}); 117 118 119}); 120 121 122 123// It gets all elements with animated-text class 124const allElements = document.querySelectorAll('.animated-text'); 125 126// It checks if there is at least one element 127if (allElements.length > 0) { 128 129 //It runs the script for each found element 130 allElements.forEach((element) => { 131 132 const txtElement = element, 133 wordsList = txtElement.getAttribute('data-words'), 134 words = wordsList.split(', '); // It makes an array of words from data attribute 135 136 let wordsCount = 0; 137 138 entry(); 139 140 // Initial function 141 function entry() { 142 if (wordsCount < words.length) { // It runs the code for each word 143 let word = words[wordsCount], 144 txtArr = word.split(''), // It makes an array of letters in the word 145 count = 0; 146 147 txtElement.textContent = ''; // It removes the previous text from the element 148 149 // For each letter in the array 150 txtArr.forEach((letter) => { 151 // It replaces the empty space for the "non-break-space" HTML... 152 // ... This is needed to separate the words properly 153 let _letter = letter === ' ' ? ' ' : letter; 154 155 // It wraps every letter with a "span" and puts all they back to the element 156 txtElement.innerHTML += `<span>${_letter}</span>` 157 }); 158 159 let spans = txtElement.childNodes; 160 161 // It sets the interval between each letter showing 162 const letterInterval = setInterval(activeLetter, 100); 163 164 function activeLetter() {
165 spans[count].classList.add('active'); 166 count++; 167 168 if (count === spans.length) { 169 clearInterval(letterInterval); 170 171 // It waits 4 seconds to start erasing the word 172 setTimeout(() => { 173 eraseText() 174 }, 2500000); 175 } 176 } 177 178 function eraseText() { 179 // It sets the interval between each letter hiding 180 let removeInterval = setInterval(removeLetter, 60); 181 count--; 182 183 function removeLetter() { 184 spans[count].classList.remove('active'); 185 count--; 186 187 if (count === -1) { 188 clearInterval(removeInterval); 189 wordsCount++; 190 191 // After removing the last letter, call the initial function again 192 entry(); 193 } 194 } 195 } 196 197 } else { // If the code reaches the last word 198 // It resets the words counter... 199 wordsCount = 0; 200 // ...and calls the initial function again. 201 entry(); 202 } 203 } 204 }); 205} 206$(document).ready(function () { 207 var owl = $(".owl_1"); 208 const isArabic = $(".owl_1").hasClass("arabiccontent"); 209 210 owl.owlCarousel({ 211 loop: true, // Enable loop to make it auto-play in a loop 212 margin: 2, 213 responsiveClass: true, 214 autoplay: true, // Enable autoplay 215 autoplayTimeout: 3000, // Set autoplay interval to 3 seconds 216 autoplayHoverPause: true, // Pause autoplay on hover 217 slideSpeed: 400, 218 paginationSpeed: 400, 219 rtl: isArabic, // Set the rtl option based on the language 220 responsive: { 221 0: { 222 items: 3, 223 nav: true, 224 loop: true, 225 }, 226 600: { 227 items: 7, 228 nav: true, 229 loop: true, 230 }, 231 1000: { 232 items: 9, 233 nav: true, 234 loop: true, 235 }, 236 }, 237 }); 238 239 // Add a hover event listener to pause and play the carousel on hover 240 $(".tab-content").hover( 241 function () { 242 owl.trigger("stop.owl.autoplay"); // Pause the carousel on hover 243 }, 244 function () { 245 owl.trigger("play.owl.autoplay"); // Resume autoplay when not hovering 246 } 247 ); 248 249 // Add a custom event listener to trigger a click event on the active anchor tag 250 owl.on("changed.owl.carousel", function (event) { 251 const activeIndex = event.item.index; 252 const anchorTag = $(".owl_1 li").eq(activeIndex).find("a"); 253 254 // Trigger a click event on the active anchor tag 255 anchorTag.click(); 256 }); 257}); 258$(document).ready(function () { 259 var li = $(".owl-item li"); 260 $(".owl-item li").click(function () { 261 li.removeClass("active"); 262 }); 263}); 264 265$(function () { 266 var $nav = $(".navbar.fixed-top"); 267 var $mobileHeaderLogo = $nav.find(".navbar-brand .mobile-header-logo"); 268 var $navbarTogglerIcon = $nav.find(".navbar-toggler.collapsed i"); 269 var whitePages = ["/why-tenex", "/solutions", "/platform"]; 270 var isWhitePage = whitePages.includes(window.location.pathname); 271 var isScrolled = false; 272 273 if (isWhitePage) { 274 $mobileHeaderLogo.attr("src", "/Tenex_v2/images/tenex-logo.png"); 275 $navbarTogglerIcon.css("color", "#000000"); 276 } 277 278 $(document).scroll(function () { 279 var scrollTop = $(this).scrollTop(); 280 281 if (!isScrolled && scrollTop > $nav.height()) { 282 $nav.addClass('scrolled'); 283 isScrolled = true; 284 } else if (isScrolled && scrollTop <= $nav.height()) { 285 $nav.removeClass('scrolled'); 286 isScrolled = false; 287 } 288 289 if (isWhitePage) { 290 if (isScrolled) { 291 $mobileHeaderLogo.attr("src", "/Tenex_v2/images/mobile-header-logo.png"); 292 $navbarTogglerIcon.css("color", "#fff"); 293 } else { 294 $mobileHeaderLogo.attr("src", "/Tenex_v2/images/tenex-logo.png"); 295 $navbarTogglerIcon.css("color", "#000000"); 296 } 297 } 298 });
299}); 300// Product nav toggle 301$(document).ready(function() { 302 var $dropdownMenu = $("#custom-product .dropdown-menu"); 303 304 $(".new-nav").on("click", ".nav-item", function (e) { 305 // Check if the clicked item is the custom product item 306 if ($(this).is("#custom-product")) { 307 $dropdownMenu.toggleClass("show"); 308 } else { 309 $dropdownMenu.removeClass("show"); 310 } 311 }); 312 313 // Prevent clicks inside the dropdown menu from affecting the parent nav-item 314 $dropdownMenu.on("click", function(e) { 315 e.stopPropagation(); 316 }); 317 318 $(document).on("click", ".navbar-toggler", function () { 319 if (!$(this).hasClass("collapsed")) { 320 $("#custom-product").find(".dropdown-menu").removeClass("show"); 321 } 322 }) 323 });
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.