1$(document).ready(function () { 2//пÑокÑÑÑка блока 3 4 (function(){ 5 if (window.innerWidth >= 768) { //Ð´Ð»Ñ Ð°Ð´Ð°Ð¿ÑивоÑÑи 6 var a = document.querySelector('#aside1'), b = null, P = 0; // еÑли Ð½Ð¾Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ð½Ð° ÑиÑло, Ñо блок бÑÐ´ÐµÑ Ð¿ÑилипаÑÑ Ð´Ð¾ Ñого, как веÑÑ Ð½Ð¸Ð¹ кÑай окна бÑаÑзеÑа дойдÑÑ Ð´Ð¾ веÑÑ Ð½ÐµÐ³Ð¾ кÑÐ°Ñ ÑлеменÑа. ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑнÑм ÑиÑлом 7 window.addEventListener('scroll', Ascroll, false); 8 document.body.addEventListener('scroll', Ascroll, false); 9 function Ascroll() { 10 if (b == null) { 11 var Sa = getComputedStyle(a, ''), s = ''; 12 for (var i = 0; i < Sa.length; i++) { 13 if (Sa[i].indexOf('overflow') == 0 || Sa[i].indexOf('padding') == 0 || Sa[i].indexOf('border') == 0 || Sa[i].indexOf('outline') == 0 || Sa[i].indexOf('box-shadow') == 0 || Sa[i].indexOf('background') == 0) { 14 s += Sa[i] + ': ' +Sa.getPropertyValue(Sa[i]) + '; ' 15 } 16 } 17 b = document.createElement('div'); 18 b.style.cssText = s + ' box-sizing: border-box; width: ' + a.offsetWidth + 'px;'; 19 a.insertBefore(b, a.firstChild); 20 var l = a.childNodes.length; 21 for (var i = 1; i < l; i++) { 22 b.appendChild(a.childNodes[1]); 23 } 24 a.style.height = b.getBoundingClientRect().height + 'px'; 25 a.style.padding = '0'; 26 a.style.border = '0'; 27 } 28 var Ra = a.getBoundingClientRect(), 29 R = Math.round(Ra.top + b.getBoundingClientRect().height - document.querySelector('#article').getBoundingClientRect().bottom + 0); // ÑелекÑÐ¾Ñ Ð±Ð»Ð¾ÐºÐ°, пÑи доÑÑижении веÑÑ Ð½ÐµÐ³Ð¾ кÑÐ°Ñ ÐºÐ¾ÑоÑого нÑжно оÑкÑепиÑÑ Ð¿ÑилипаÑÑий ÑлеменÑ; Math.round() ÑолÑко Ð´Ð»Ñ IE; еÑли Ð½Ð¾Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ð½Ð° ÑиÑло, Ñо блок бÑÐ´ÐµÑ Ð¿ÑилипаÑÑ Ð´Ð¾ Ñого, как нижний кÑай ÑлеменÑа дойдÑÑ Ð´Ð¾ ÑÑÑеÑа 30 if ((Ra.top - P) <= 0) { 31 if ((Ra.top - P) <= R) { 32 b.className = 'stop'; 33 b.style.top = - R +'px'; 34 } else { 35 b.className = 'sticky'; 36 b.style.top = P + 'px'; 37 } 38 } else { 39 b.className = ''; 40 b.style.top = ''; 41 } 42 window.addEventListener('resize', function() { 43 a.children[0].style.width = getComputedStyle(a, '').width 44 }, false); 45 } 46 } 47 })() 48});
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.