Пора в отпуск
6000 миль
за оформление карты
Подробнее
(function(w, d, promoUrl, loc) { var modal, box, closeModalBtn, isModalAnimation, body, html, scrollBarWidth, promoButton; var teaser = d.querySelector('.tinkoff-all-airlines'); if (!teaser) return false; initModal(); preloadImages(['https://leonardo.osnova.io/2755fcfd-f5aa-3496-f0b8-2066ac91e9fa/', 'https://leonardo.osnova.io/0006b8c0-6e01-4b3f-6765-45d1606a2c48/', 'https://leonardo.osnova.io/da12942b-f4f3-2560-40b3-a1c930f4b330/']).then(function() { setTimeout(function() { analyticsEvents(); teaser.classList.add('is-init'); teaser.addEventListener('click', openModal); onDestroy(); }, 100); }); function onDestroy() { var moduleAjaxify = window.Air && window.Air.get('module.ajaxify'); if (moduleAjaxify && moduleAjaxify.on) { moduleAjaxify.on('Before page changed', function() { window.removeEventListener('scroll', scrollHandler); hideModal(); if (teaser) { teaser.removeEventListener('click', openModal); } if (box) { box.removeEventListener('click', stopPropagation); } if (closeModalBtn) { closeModalBtn.removeEventListener('click', closeModalStop); } if (promoButton) { promoButton.removeEventListener('click', clickPromo); } if (modal) { modal.removeEventListener('click', closeModal); modal.remove(); } }); } }; function initModal() { body = d.querySelector('body'); html = d.documentElement; modal = d.querySelector('.tinkoff-all-airlines-promo'); box = d.querySelector('[data-tinkoff-all-airlines-box]'); closeModalBtn = d.querySelector('[data-tinkoff-all-airlines-close]'); isModalAnimation = false; scrollBarWidth = getScrollbarWidth(); box.addEventListener('click', stopPropagation); modal.addEventListener('click', closeModal); closeModalBtn.addEventListener('click', closeModalStop); promoButton = d.querySelector('.tinkoff-all-airlines-promo__button'); if (promoButton) { promoButton.setAttribute('href', promoUrl); promoButton.addEventListener('click', clickPromo); } body.appendChild(modal); }; function clickPromo() { sendEvent('Promo button'); }; function stopPropagation(e) { e.stopPropagation(); }; function closeModalStop(e) { e.preventDefault(); e.stopPropagation(); closeModal(); }; function openModal() { if (isModalAnimation) return false; isModalAnimation = true; sendEvent('Popup', 'Open'); body.style.overflow = 'hidden'; html.style.marginRight = scrollBarWidth + 'px'; modal.classList.remove('is-hidden'); setTimeout(function() { modal.classList.add('is-show'); setTimeout(function() { isModalAnimation = false; }, 300); }, 0); }; function closeModal() { if (isModalAnimation) return false; isModalAnimation = true; hideModal(); sendEvent('Popup', 'Close'); }; function hideModal() { modal.classList.remove('is-show'); setTimeout(function() { modal.classList.add('is-hidden'); body.style.overflow = 'auto'; html.style.marginRight = '0px'; isModalAnimation = false; }, 300); }; function isInViewport(elem) { var bounding = elem.getBoundingClientRect(); return ( bounding.top >= 0 && bounding.left >= 0 && bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) && bounding.right <= (window.innerWidth || document.documentElement.clientWidth) ); }; function preloadImages(urls) { return Promise.all(urls.map(function(url) { return new Promise(function(resolve) { var image = new Image(); image.onload = resolve; image.src = url; }); })); }; function sendEvent(label, state) { state = state ? state : 'Click'; var value = 'Tinkoff All Airlines 650 (' + loc + ') — ' + label + ' — ' + state; console.log(value); if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function getScrollbarWidth() { var outer = d.createElement('div'); outer.style.visibility = 'hidden'; outer.style.overflow = 'scroll'; outer.style.msOverflowStyle = 'scrollbar'; d.body.appendChild(outer); var inner = d.createElement('div'); outer.appendChild(inner); var scrollbarWidth = (outer.offsetWidth - inner.offsetWidth); outer.parentNode.removeChild(outer); return scrollbarWidth; }; function analyticsEvents() { sendEvent('Teaser', 'init'); window.addEventListener('scroll', scrollHandler); scrollHandler(); }; function scrollHandler() { if (isScrolledIntoView(teaser)) { sendEvent('Teaser', 'Show'); window.removeEventListener('scroll', scrollHandler); } }; function isScrolledIntoView(el) { var rect = el.getBoundingClientRect(); var elemTop = rect.top; var elemBottom = rect.bottom; var isVisible = (elemTop >= 0) && (elemBottom <= w.innerHeight); return isVisible; }; }(window, document, 'https://www.tinkoff.ru/cards/credit-cards/all-airlines/promo/form/black-friday/?utm_source=vc0920_cc&utm_medium=ntv.fix&utm_campaign=allairlines.vcbf', 'entry-head'));
Дизайн
Anna Petrova
286

Кнопка "обновить"

Прошу добавить в приложения VC кнопку обновить.

Очень нужна!

Спасибо за понимание и внимание к пожеланиям юзеров.

{ "author_name": "Anna Petrova", "author_type": "self", "tags": [], "comments": 13, "likes": -5, "favorites": 2, "is_advertisement": false, "subsite_label": "design", "id": 142179, "is_wide": true, "is_ugc": true, "date": "Wed, 15 Jul 2020 01:14:34 +0300", "is_special": false }
Трибуна
Собственная CRM-система с сопровождением клиентов и встроенной логистикой
Меня зовут Павел Ковтун, я совладелец сервиса по аренде сменных ковров в Санкт-Петербурге и Ленообласти — Virginia. С…
Объявление на vc.ru
0
13 комментариев
Популярные
По порядку
Написать комментарий...
6

По стандарту ты тянешь весь контент вниз и страница обновляется)) не понимаю зачем нужна кнопка "Обновить" если есть уже готовые стандарты которые все юзают...можно просто сделать маленький поп ап в приложение с текстом к примеру - "Появилось 1 новый пост" да блин..все знают такие фишки :D

Ответить
–1

Это уже есть.
Мне не хватает именно этой кнопки.

Ответить
3

пили свое приложение! с блек джеком и кнопкой обновить

Ответить
3

Нахуя, а главное зачем?

Ответить
–1

Для удобства обновления ленты, чтобы не дёргать наверх.
Спасибо за ваш вопрос.

Ответить
2

Не нужно перегружать интерфейс бесполезной кнопкой; есть два стандартных действия для обновления ленты, зачем ещё третье решение — не понятно.

Ответить
–2

Одна кнопка не перегрузит.
Кнопка полезная.
Пусть будет 3.
Не всегда нужно понимать, иногда для некоторых это недоступно.

Ответить
3

Одно слово не перегрузит.
Слово полезное.
Пусть будет 4.
Не всегда нужно понимать, иногда для некоторых это недоступно.

Ответить
0

Поддерживаю эту петицию о добавлении кнопки обновить! И прошу добавить её так, чтобы она всплывала вверху всегда, когда юзер скролит вверх, дабы вне зависимости от места чтения в статье можно было обновить страничку.

Ответить
0

если появляется новая статья, то сразу же всплывает об этом информация, нажав на которую пройдет обновление страницы.

Ответить
0

Спасибо, кэп!
Об этом Александр Макаров написал выше.

Ответить
0

Дак я не тебе отвечал, а пассажиру выше. Видно же, что коммент есть про это, а он просит это же добавить. Читать ведь не научили.

Ответить

Комментарии

null