(function (window) { "use strict"; var OPTIONS = window.SCREEN_SIZE_OPTIONS || {}; // wrapper + options.padding * 2 var sizeList = [980,1220,1340]; var nameList = ['small', 'medium', 'large']; var sizesLength = sizeList.length; var isBranding = false; var htmlElement = document.documentElement; var lastState, className; var options = { padding: 20, sideWidth: 140, largeSideWidth: 240, bannerStub: sizeList[0], minBranding: OPTIONS.minBranding || sizeList[1], maxBranding: 1920, classRe: /\s*screen_(\S+)/gi, classPrefix: 'screen_' }; // ширина экрана для больших ушей, когда они полностью помещаются для самого большого экрана var widthForLargeSide = sizeList[sizeList.length - 1] + (options.largeSideWidth + options.padding) * 2; function screenSize(branding) { var windowWidth = window.innerWidth; var actualWidth = windowWidth; var sideWidth, canBranding, canBrandingStub, size, result, state; // запоминаем состояние последнего вызова, например screenSize(true) в слоте п-брендинга if (typeof branding === 'boolean') { isBranding = branding; } if (isBranding) { sideWidth = windowWidth > widthForLargeSide && options.largeSideWidth || options.sideWidth; // используем 20 отступы по бокам под брендирование if (sideWidth) { actualWidth -= (sideWidth + options.padding) * 2; } } canBranding = windowWidth >= options.minBranding && windowWidth <= options.maxBranding; // не показываем брендинг на экраны меньше 1024 и больше 1900 if (!canBranding) { actualWidth = windowWidth; } canBrandingStub = actualWidth >= options.bannerStub && actualWidth < options.minBranding; // подбираем экран под окно пользователя с учетом брендинга for (var sizeNo = 1; sizeNo < sizesLength; sizeNo++) { if (actualWidth < sizeList[sizeNo]) { size = nameList[sizeNo - 1]; break; } } if (!size) { size = nameList[nameList.length - 1]; } state = [size, isBranding, canBranding, canBrandingStub, sideWidth].join(); if (lastState != state) { lastState = state; className = htmlElement.className.replace(options.classRe, '').split(' '); className.push(options.classPrefix + size); if (isBranding) { className.push(options.classPrefix + 'branding-p_need'); if (canBranding) { className.push(options.classPrefix + 'branding-p'); className.push(options.classPrefix + 'branding-p_' + sideWidth); } else if (canBrandingStub) { className.push(options.classPrefix + 'branding-p_banner-stub'); } } htmlElement.className = className.join(' '); try { window.dispatchEvent(new Event('resize')); } catch (ex) {} } } /** * Создает функцию, игнорирующую вызовы происходящие чаще заданого интервала * @param originalFn функция, частоту вызова которой необходимо ограничить * @param [timeout = 100] интервал * @param [callImmediately = false] флаг, указывающий что функция должна выполняться в начале группы вызовов * @returns {Function} */ function debounce (originalFn, timeout, callImmediately) { var timer = null; return function debounced () { var context = this, args = arguments; function delayed () { if (!callImmediately) { originalFn.apply(context, args); } timer = null; } if (timer !== null) { clearTimeout(timer); } else if (callImmediately) { originalFn.apply(context, args); } timer = setTimeout(delayed, timeout || 100); }; } screenSize(); window.screenSize = screenSize; if (window.addEventListener) { window.addEventListener("resize", debounce(screenSize), false); } else if (window.attachEvent) { window.attachEvent("onresize", debounce(screenSize)); } })(this);

Консультации

Вопросы и ответы
Ige анализ крови на местные анестетики двух комплексов не дал никакого результата Что делать как расшифровать результат помогите
13 числа я сдал IGE анализ крови на местные анестетики в лаборатории Smart Med Lab, пришли результаты тестирования и оказалось, что тест вообще не смог ничего выявить. Сейчас у меня...
Задержка психо-речевого развития
Здравствуйте моему сыну 2.6 разговаривает мало, пытается но как то у него не получается и не усидчивый, истерит, плохой сон, невролог назначила кортексин 10 мг в/м, глицын 1т на ночь...
Резкая боль в колене
Добрый день! 15.12.2018 резко присела и ощутила пронзающую боль в правом колене (с внутренней стороны ближе к верху коленной чашечки). Боль была настолько сильной, что в глазах потемнело и дыхание...
Заражение после сдачи крови
Добрый день! Интересует вопрос, ребёнку брали кровь из вены и видимо мало подержали руку, потому что дома был кровоподтёк и запекшаяся кровь. Получается после того как убрали ватку пошла кровь...
Боль в ноге
Добрый день! ребенку 10 лет. Периодически (1 раз в месяц) возникает острая боль в правой ноге, в районе колена с правой стороны. Все происходит так: резкая боль, ребенок падает, через...
Эпителий кошки аллергия
Доброе утро!сыну 4 года,в прошлом году сдавали аллергопробы,т.к каждый сезон осень-весна обострение ,аллергический ринит,синусит.Сдавали на эпителий кошки,(у нас был кот британский,кастрат 4 года вместе жили), молоко, шоколад,сосну,в общем на всё...
Боль в колене и тазобедренном суставе в положении лежа
Уже несколько месяцев появляется боль в левом колене и левом тазобедренном суставе, ночью, когда ложусь спать на правом или левом боку, и только в положении лежа на спине боль отпускает....
Резкие скачки давления
Здравствуйте. Месяц назад 1-2 раз в неделю стало резко подниматься давление до 170/100, мое рабочее - 110-110/80. Скорая купировала каптоприлом, сама теперь купирую им же. Совпало с дёргающейся мышцей под...
Добрый день Ребенок 11 месяцев упал с кровати Сидел на кровати и назад На полу линолеум высота кровати 40-50 см Плакал очень сильно и долго-испугался Видимых повреждений нет Покушал хорошо и уснул
На что обратить внимание и чем чревато данное падение?
Клебсиелла пневмонии в мочевом пузыре
Нашли клебсиеллу пневмонии в моче. Определена чувствительность к амикацину и фосфомицину. Врач назначил амикацин по 0,5 2 раза в день, 7 дней и монурал по 3гр. По 1 пакету раз...
Состояние после операции гаймороэдмендотомия с 2х ст полипотомия носа с 2х ст
Здравствуйте. Я уже обращалась к вам со своей проблемой. Но назрели новые вопросы. 28 ноября мне сделали операцию, и она у меня не первая. После первой мне назначали пить Эреспал...
У ребенка повышен гемоглобин и креатинин
Здравствуйте. Ребенку 5 лет, мальчик, в августе переболел ротавирусом, после чего стала замечать в анализах постоянно повышенный гемоглобин 136 сейчас. Стали острее проблемы по гастроэнтерологии. Сдав биохимию, обнаружили креатинин на...
Ребенку 1 7 после антибиотика остался сухой кашель
Здравствуйте. Поставили прививку пентакисм. Пока сидели в очереди что-то подцепили, потому что через 2 дня полелись сильные сопли и 2 дня была температура. Сбивала 1 раз и потом прошла. Далее...
Trichomoniasis
Вопрос в том, что у меня был Trichomoniasis и мне назначили лечение метронидазолом, а точнее препаратом Metrozol, 1 таблетка 500 мг по 3 раза в день в течении 5 дней....
Затяжной насморк у ребенка
Здравствуйте! Ребенку 3года, с сентября ходим в сад, в связи с чем у нас постоянный насморк, дышим ртом, храпим ночью. Називин, вибрацил не спасал, врач выписывала полидекса и все в...
Катетер Фолея
Здравствуйте! Я девушка и у меня стоит катетер Фолея уже лет 5 (12Fr/Ch 5-10ml) и вчера я его случайно выдернула , шарик не сдулся , был наполнен примерно на 3...
Атопический дерматит
У ребёнка (2 года) на коже появились высыпания, уже месяц не можем от них избавиться, то немного утихнет, то снова появляется. При чем зона поражения кожи увеличивается. Были у врачей,...
Марихуана
Здравствуйте, когда употребляю марихуану начинаются панические атаки, до этого смешал МДМА и траву, заработал считай неврологическое расстройство, но теперь когда кую становиться плохо из за того что переживаю что случиться...
Как разводить цефатоксим с новокаином
Здравствуйте!Ребёнку 9 лет-заболел ангиной.Назначили цефатоксим по 1,0 гр. 2 раза в день с новокаином.Подскажите,пожалуйста,как правильно развести...
Уретроскопия
Здравствуйте. Прошёл уретроцистоскопию с записью на флешку. Дома просмотрел. Настораживают пару моментов. На первом красное пятно с объёмным образованием. На втором красное пятно с язвой. В описании ничего об этом...