clickio

virtualbrest.by mirror-sticky customized

Jul 13th, 2020
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.42 KB | None | 0 0
  1. <script>
  2. (function(w, d){
  3.    
  4.     function getElementsHeight(el) {
  5.         var totalHeight = 0;
  6.         if(el && el.childNodes)
  7.             el.childNodes.forEach( function(e) {
  8.                 if(e.clientHeight)
  9.                 totalHeight += e.clientHeight;
  10.             });
  11.        
  12.         return totalHeight;
  13.     };
  14.    
  15.     function checkHeights(){
  16.         var center    = d.querySelector(".news-center");
  17.         var left      = d.querySelector(".sidebar-left");
  18.         var right     = d.querySelector(".sidebar-right");
  19.         var rightCont = right.parentNode;
  20.        
  21.         var centerHeight = center.clientHeight;
  22.         var rightHeight  = getElementsHeight(rightCont);
  23.         var leftHeight   = left.clientHeight;
  24.        
  25.         return (centerHeight > (rightHeight + 600) && centerHeight > (leftHeight + 600));
  26.     }
  27.    
  28.     function addBanner(code, el, pos){
  29.         var contDiv = document.createElement('div');
  30.         contDiv.classList.add('lx_sticky_wrapper');
  31.         var anchor = document.createElement('div');
  32.         anchor.classList.add('lx_sticky_anchor_' + pos);
  33.         el.appendChild(contDiv);
  34.         contDiv.appendChild(anchor);
  35.         var div = document.createElement('div');
  36.         div.innerHTML = code;
  37.         contDiv.appendChild(div);
  38.         while (div.firstChild) contDiv.insertBefore(div.firstChild, div);
  39.         contDiv.removeChild(div);
  40.         var scripts = contDiv.getElementsByTagName("script");
  41.         Array.from(scripts).forEach(function(script, index, array) {
  42.             var newScript = document.createElement('script');
  43.             if(typeof script.src !== "undefined" && script.src && script.sr !== "")
  44.            {
  45.                newScript.src = script.src;
  46.                 newScript.className = script.className;
  47.                 contDiv.appendChild(newScript);
  48.             }
  49.             else
  50.             {
  51.                 var data = (script.text || script.textContent || script.innerHTML || "");
  52.                 newScript.className = script.className;
  53.                 newScript.type = script.type;
  54.                 newScript.appendChild(document.createTextNode(data));
  55.                 contDiv.appendChild(newScript);
  56.             }
  57.             contDiv.removeChild(script);
  58.         });
  59.     }
  60.    
  61.     var checkFlag = false;
  62.     var repeatTimes = 50;
  63.     var repeatCount = 0;
  64.    
  65.     var codeLeft = "<scr"+"ipt async type='text/javascript' src='//s.clickiocdn.com/t/common_258.js'><\/scr"+"ipt>" +
  66.             "<scr"+"ipt class='__lxGc__' type='text/javascript'>" +
  67.             "((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_209992']=__lxGc__['s']['_209992']||{'b':{}})['b']['_658351']={'i':__lxGc__.b++};" +
  68.             "<\/scr"+"ipt>";
  69.     var codeRight = "<scr"+"ipt async type='text/javascript' src='//s.clickiocdn.com/t/common_258.js'><\/scr"+"ipt>" +
  70.             "<scr"+"ipt class='__lxGc__' type='text/javascript'>" +
  71.             "((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_209992']=__lxGc__['s']['_209992']||{'b':{}})['b']['_658349']={'i':__lxGc__.b++};" +
  72.             "<\/scr"+"ipt>";
  73.    
  74.     var interval = setInterval(function(){
  75.         repeatCount++;
  76.         if(checkHeights())
  77.         {
  78.             checkFlag = true;
  79.             clearInterval(interval);
  80.             //
  81.             var left      = d.querySelector(".sidebar-left");
  82.             var right     = d.querySelector(".sidebar-right");
  83.             var rightCont = right.parentNode;
  84.            
  85.             addBanner(codeLeft, left, "left");
  86.             addBanner(codeRight, rightCont, "right");
  87.            
  88.         }
  89.         else
  90.         {
  91.             if(repeatCount >= repeatTimes){
  92.                 clearInterval(interval);
  93.             }
  94.         }
  95.     }, 100);
  96. })(window, document);
  97. </script>
Add Comment
Please, Sign In to add comment