Advertisement
clickio

Studiocataldi mirror-sticky on scroll

Jul 20th, 2020
1,432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.55 KB | None | 0 0
  1. <!-- Clickio mirror-sticky on scroll -->
  2. <style>
  3.     main {
  4.         overflow: visible;
  5.         position: relative;
  6.     }
  7.     .lx_fixed_left_wrapper, .lx_fixed_right_wrapper {
  8.         position: absolute;
  9.         top: -115px;
  10.         width: 160px;
  11.     }
  12.     .lx_fixed_left_wrapper{
  13.         left: -210px;
  14.     }
  15.     .lx_fixed_right_wrapper {
  16.         right: -210px;
  17.     }
  18.  
  19. </style>
  20. <script>
  21. if (window.innerWidth >= 1600) {
  22.     (function(w,d){
  23.         var ll   = 50;
  24.        
  25.         var content = document.querySelector('main');
  26.         var codeLeft = "<scr"+"ipt async type='text/javascript' src='//s.clickiocdn.com/t/common_258.js'></scr"+"ipt>" +
  27.             "<scr"+"ipt class='__lxGc__' type='text/javascript'>" +
  28.             "((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_205873']=__lxGc__['s']['_205873']||{'b':{}})['b']['_647662']={'i':__lxGc__.b++};" +
  29.             "</scr"+"ipt>";
  30.         var codeRight = "<scr"+"ipt async type='text/javascript' src='//s.clickiocdn.com/t/common_258.js'><\/scr"+"ipt>" +
  31.             "<scr"+"ipt class='__lxGc__' type='text/javascript'>" +
  32.             "((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_205873']=__lxGc__['s']['_205873']||{'b':{}})['b']['_647660']={'i':__lxGc__.b++};" +
  33.             "</scr"+"ipt>";
  34.  
  35.         function getTopScroll() {
  36.             return (w.pageYOffset || d.scrollTop)  - (d.clientTop || 0);
  37.         }
  38.         function addSide(code, side, container){
  39.             var absDiv = document.createElement('div');
  40.             absDiv.classList.add('lx_fixed_' + side + '_wrapper');
  41.             content.appendChild(absDiv);
  42.             var div = document.createElement('div');
  43.             div.innerHTML = code;
  44.             absDiv.appendChild(div);
  45.             while (div.firstChild) absDiv.insertBefore(div.firstChild, div);
  46.             absDiv.removeChild(div);
  47.             var scripts = absDiv.getElementsByTagName("script");
  48.             Array.from(scripts).forEach(function(script, index, array) {
  49.                 var newScript = document.createElement('script');
  50.                 if(typeof script.src !== "undefined" && script.src && script.sr !== "")
  51.                {
  52.                    newScript.src = script.src;
  53.                     newScript.className = script.className;
  54.                     absDiv.appendChild(newScript);
  55.                 }
  56.                 else
  57.                 {
  58.                     var data = (script.text || script.textContent || script.innerHTML || "");
  59.                     newScript.className = script.className;
  60.                     newScript.type = script.type;
  61.                     newScript.appendChild(document.createTextNode(data));
  62.                     absDiv.appendChild(newScript);
  63.                 }
  64.                 absDiv.removeChild(script);
  65.             });
  66.         }
  67.  
  68.         function addCodes() {
  69.             var elements = document.querySelectorAll('lx_fixed_left_wrapper', 'lx_fixed_right_wrapper');
  70.  
  71.             if(elements.length === 0)
  72.             {
  73.                 addSide(codeLeft, 'left', content);
  74.                 addSide(codeRight, 'right', content);
  75.             }
  76.         }
  77.  
  78.         function scrollHandler() {
  79.             addCodes();
  80.             w.removeEventListener('scroll', scrollHandler);
  81.         }
  82.         w.addEventListener('scroll', scrollHandler);
  83.     })(window, document);
  84. }
  85. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement