index.html 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <!DOCTYPE html>
  2. <html lang="{{ .Site.LanguageCode }}">
  3. {{ partial "head.html" . }}
  4. <!-- Start of HubSpot Embed Code -->
  5. <script type="text/javascript" id="hs-script-loader" async defer src="//js-na1.hs-scripts.com/20485755.js"></script>
  6. <!-- End of HubSpot Embed Code -->
  7. <body>
  8. <div id="all" style="overflow-x:hidden;">
  9. {{ partial "nav.html" . }}
  10. {{ partial "LP_components/hero.html" . }}
  11. {{ partial "LP_components/video.html" . }}
  12. {{ partial "LP_components/use_cases.html" . }}
  13. {{ partial "LP_components/steps.html" . }}
  14. {{ partial "LP_components/features.html" . }}
  15. {{ partial "LP_components/blogs_tab.html" . }}
  16. {{ partial "LP_components/action.html" . }}
  17. {{ partial "LP_components/Footer.html" . }}
  18. {{ partial "LP_components/news.html" . }}
  19. </div>
  20. <!-- /#all -->
  21. {{ partial "scripts.html" . }}
  22. <script>
  23. function tabLP () {
  24. if(('.m-tabs').length){
  25. // Show the first tab by default
  26. $('.blog-tabs-stage>div').hide();
  27. $('.blog-tabs-stage>div:first').show();
  28. $('.blog-tabs-nav li:first').addClass('blog-tab-active');
  29. // Change tab class and display content
  30. $('.blog-tabs-nav a').on('click', function(event){
  31. event.preventDefault();
  32. $('.blog-tabs-nav li').removeClass('blog-tab-active');
  33. $(this).parent().addClass('blog-tab-active');
  34. $('.blog-tabs-stage>div').hide();
  35. $($(this).attr('href')).show();
  36. });
  37. }
  38. }
  39. tabLP();
  40. function debounce(func, wait = 20, immediate = true) {
  41. var timeout;
  42. return function() {
  43. var context = this, args = arguments;
  44. var later = function() {
  45. timeout = null;
  46. if (!immediate) func.apply(context, args);
  47. };
  48. var callNow = immediate && !timeout;
  49. clearTimeout(timeout);
  50. timeout = setTimeout(later, wait);
  51. if (callNow) func.apply(context, args);
  52. };
  53. };
  54. const featuresBlock = document.querySelectorAll('.features-block');
  55. const featuresRow = document.querySelectorAll('.sec-features .row');
  56. function checkSlide() {
  57. featuresRow.forEach((block, i) => {
  58. // half way through the image
  59. const slideInAt = (window.scrollY + window.innerHeight) - block.offsetHeight / 2;
  60. // bottom of the image
  61. const isHalfShown = slideInAt > block.offsetTop;
  62. if (isHalfShown) {
  63. console.log('active');
  64. featuresBlock[i].classList.add('active');
  65. }
  66. });
  67. }
  68. window.addEventListener('scroll', debounce(checkSlide));
  69. $('.navbar-nav .dropdown:nth-of-type(2)').click(function() {
  70. $('html, body').animate({
  71. scrollTop: $("#sec-features").offset().top
  72. }, 1000);
  73. })
  74. </script>
  75. </body>
  76. </html>