PageSourceSearch

https://ncrdo.ru/local/templates/ncrdo_visually/components/bitrix/…/script.js?17900006243598

js ncrdo.ru collected 2026-09-28 12:11:56 UTC 3,598 bytes, 140 lines download raw bytes

1(function ($) {
2  var sliderSelector = '.category_professor_slide';
3  var readySelector = '.ncrdo-professor-slider-ready';
4  var started = false;
5
6  function init(allowLegacyMarkup) {
7    if (started) {
8      return true;
9    }
10
11    var slider = document.querySelector(sliderSelector);
12    if (!slider || (!allowLegacyMarkup && !document.querySelector(readySelector))) {
13      return false;
14    }
15
16    if (!$.fn || typeof $.fn.slick !== 'function') {
17      if (typeof window.ensureNcrdoSlickAssets === 'function') {
18        window.ensureNcrdoSlickAssets().then(function () {
19          init(allowLegacyMarkup);
20        }).catch(console.warn);
21      }
22      return false;
23    }
24
25    started = true;
26    var $slider = $(slider);
27    var slick = $.fn.slick.__ncrdoOriginalSlick || $.fn.slick;
28    slick.call($slider, {
29      slidesToShow: 4,
30      slidesToScroll: 1,
31      arrows: true,
32      dots: false,
33      infinite: true,
34      autoplay: true,
35      autoplaySpeed: 4000,
36      lazyLoad: 'ondemand',
37      responsive: [
38        {
39          breakpoint: 1200,
40          settings: {
41            slidesToShow: 3,
42            variableWidth: false
43          }
44        },
45        {
46          breakpoint: 960,
47          settings: {
48            slidesToShow: 2,
49            variableWidth: false
50          }
51        },
52        {
53          breakpoint: 600,
54          settings: {
55            slidesToShow: 1,
56            variableWidth: false
57          }
58        }
59      ]
60    });
61
62    return true;
63  }
64
65  var markupObserver = null;
66  var viewportObserver = null;
67  var activationArmed = false;
68
69
70  function removeActivationListeners() {
71    window.removeEventListener('wheel', activateFromIntent);
72    window.removeEventListener('touchstart', activateFromIntent);
73    document.removeEventListener('keydown', activateFromKeyboard);
74    if (viewportObserver) {
75      viewportObserver.disconnect();
76      viewportObserver = null;
77    }
78  }
79
80  function activate() {
81    if (init(true)) {
82      removeActivationListeners();
83    }
84  }
85
86  function activateFromIntent() {
87    window.setTimeout(activate, 0);
88  }
89
90  function activateFromKeyboard(event) {
91    if (['PageDown', 'End', 'ArrowDown', ' '].indexOf(event.key) !== -1) {
92      activateFromIntent();
93    }
94  }
95
96  function arm(allowLegacyMarkup) {
97    if (started || activationArmed) {
98      return true;
99    }
100
101    var slider = document.querySelector(sliderSelector);
102    if (!slider || (!allowLegacyMarkup && !document.querySelector(readySelector))) {
103      return false;
104    }
105
106    activationArmed = true;
107    if (!('IntersectionObserver' in window)) {
108      activate();
109      return true;
110    }
111
112    viewportObserver = new IntersectionObserver(function (entries) {
113      if (entries.some(function (entry) { return entry.isIntersecting; })) {
114        activate();
115      }
116    }, { rootMargin: '1600px 0px', threshold: 0.01 });
117    viewportObserver.observe(slider);
118    window.addEventListener('wheel', activateFromIntent, { once: true, passive: true });
119    window.addEventListener('touchstart', activateFromIntent, { once: true, passive: true });
120    document.addEventListener('keydown', activateFromKeyboard);
121    return true;
122  }
123
124  if (arm(false)) {
125    return;
126  }
127
128  markupObserver = new MutationObserver(function () {
129    if (arm(false)) {
130      markupObserver.disconnect();
131    }
132  });
133
134  markupObserver.observe(document.documentElement, { childList: true, subtree: true });
135  document.addEventListener('DOMContentLoaded', function () {
136    if (arm(true) && markupObserver) {
137      markupObserver.disconnect();
138    }
139  }, { once: true });
140})(jQuery);

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.