Advertisement
NikolayBezay

Soda stream Legal page autoscroll.

Sep 1st, 2022
1,259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.53 KB | None | 0 0
  1. <script>
  2. (function() {
  3.     var timer;
  4.     var SCROLL_STEP_OFFCET = 10;
  5.     var ELEMENT_POSITION_TOP_OFFCET = 100;
  6.     var scroolOffset;
  7.     function getCoords(elem) {
  8.         var box = elem.getBoundingClientRect();
  9.         var body = document.body;
  10.         var docEl = document.documentElement;
  11.         var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
  12.         var clientTop = docEl.clientTop || body.clientTop || 0;
  13.         var top = box.top + scrollTop - clientTop - ELEMENT_POSITION_TOP_OFFCET;
  14.         return top;
  15.     }
  16.  
  17.     function smoothScroll() {
  18.         timer--;
  19.         var stepOffset;
  20.        
  21.         var currentPosition = window.scrollY || window.pageYOffset;
  22.  
  23.         if (currentPosition < scroolOffset) {
  24.            stepOffset = currentPosition + SCROLL_STEP_OFFCET;
  25.        }
  26.  
  27.        window.scrollTo(0, stepOffset);
  28.        if (window.scrollY !== scroolOffset && timer > 0) {
  29.             setTimeout(smoothScroll, 5);
  30.         }
  31.     }
  32.  
  33.     function scrollToElement(selector) {
  34.         var pageSlider = document.querySelector(selector);
  35.         if (pageSlider) {
  36.             scroolOffset = parseInt(getCoords(pageSlider));
  37.             timer = parseInt(scroolOffset / 10);
  38.             smoothScroll();
  39.         }
  40.     }
  41.     if (window.localStorage.getItem('adoricTermsRedirectGasExchange') === 'true') {
  42.         window.localStorage.removeItem('adoricTermsRedirectGasExchange');
  43.         scrollToElement('[data-target="#legal-section"] div:nth-child(3) h2');
  44.     }
  45. })();    
  46. </script>    
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement