- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, нужна помощь. На сайте есть всплывающее окно, мне нужно, чтобы человек не смог закрыть его нажав за пределы этого окна.
;(function() { var overlay = document.getElementById('overlay'), mOpen = document.querySelectorAll('[data-modal]'), mClose = document.querySelectorAll('[data-close]'), outer = document.querySelector('.modal-outer'), modals = document.querySelectorAll('.modal-outer > div'), duration = 400, mStatus = false, h = null; if (mOpen.length == 0) return; setTopOuter(); function setTopOuter() { outer.style.top = -outer.offsetHeight + 'px'; } [].forEach.call(mOpen, function(el) { el.addEventListener('click', function(e) { var modalId = el.getAttribute('data-modal'), modal = document.getElementById(modalId); modalShow(modal); }); }); [].forEach.call(mClose, function(el) { el.addEventListener('click', modalClose); }); document.addEventListener('keydown', modalClose); function modalShow(modal) { mStatus = true; overlay.classList.remove('fadeOut'); overlay.classList.add('fadeIn'); modal.style.display = 'block'; var start = new Date().getTime(), startTop = outer.getBoundingClientRect().top, finalTop = (window.innerHeight - outer.offsetHeight) / 2, offset = outer.offsetHeight + finalTop; var fn = function() { var now = new Date().getTime() - start, currTop = Math.round(startTop + offset * now / duration); currTop = (currTop > finalTop) ? finalTop : currTop; outer.style.top = currTop + 'px'; if (currTop < finalTop) { requestAnimationFrame(fn); } } requestAnimationFrame(fn); window.addEventListener('resize', setTopOpenOuter); } function modalClose(event) { if (mStatus && ( !event.keyCode || event.keyCode === 27 ) ) { mStatus = false; var start = new Date().getTime(), startTop = outer.getBoundingClientRect().top, finalTop = -outer.offsetHeight, offset = outer.offsetHeight + (window.innerHeight - outer.offsetHeight) / 2; var fn = function() { var now = new Date().getTime() - start, currTop = Math.round(startTop - offset * now / duration); currTop = (currTop < finalTop) ? finalTop : currTop; outer.style.top = currTop + 'px'; if (currTop > finalTop) { requestAnimationFrame(fn); } else { overlay.classList.remove('fadeIn'); overlay.classList.add('fadeOut'); [].forEach.call(modals, function(modal){ modal.removeAttribute('style'); }); } } requestAnimationFrame(fn); window.removeEventListener('resize', setTopOpenOuter); } } function setTopOpenOuter() { outer.style.top = (window.innerHeight - outer.offsetHeight) / 2 + 'px'; } })(); var win_top = 0; $(document).ready(function(){ // открываем модальное окно при клике по контенту $('#list').click(function(){ popup_open('#myPopup'); }) // открываем модальное окно через 1,5сек после загрузки страницы setTimeout(function() { popup_open('#myPopup'); }, 2000); // Добавляем обработчик закрытия модального окна $(document).on('click', '.popup .close, .overflow', function(){ popup_close() return false; }) }) function popup_open(selector){ if (selector.length){ win_top = $(window).scrollTop(); $('#list').css({ 'position' : 'fixed', 'left' : '0', 'right' : '0', 'top' : '0', // Добавляем смещение, чтобы на фоне была именно та часть, что просмаривал пользователь 'margin-top': '-'+win_top+'px' }) $('.overflow,'+selector).fadeIn(); } } function popup_close(){ $('.overflow, .popup').hide(); $('#list').css({ 'position' : 'static', 'margin-top': '0px' }) // Возвращаем скролл на место $(window).scrollTop(win_top); }если по колхозному, то в функции modalClose
заменяем на
если по колхозному, то в функции modalClose
заменяем на
Не проще в
убрать просто
, .overflow?
Если верно понимаю - это исключит из обработчика клик по контейнеру, чтобы он по нему не закрывал. Глубже не вчитывался в код, но если там других обработок нет - должно помочь.
Не проще в
однозначно проще 👍
я туда не дошел 😆