Сейчас узнаем, какой подарок выпадет именно Вам
Крутите колесо
Как сделать активные ссылки в Zero Menu в Tilda
Ремонт цифровой техники
Быстрый и качественный ремонт всех видов цифровой техники с гарантией и бесплатной диагностикой.
Услуги
Специалисты сервисного центра осуществляют базовый ремонт сотовых телефонов за 15 минут.
Ремонтируем неисправные планшеты. Первую диагностику планшета можно произвести сразу же на месте.
Ремонтируем, восстанавливаем, меняем, чистим, настраиваем и устраняем практически все неисправности.
Наши специалисты осуществляют качественный ремонт компьютеров любых производителей.
Наш сервисный центр оказывает полный комплекс профессиональных услуг по ремонту зеркальных и цифровых фотоаппаратов.
Ремонт плееров любых производителей c предварительной диагностикой и последующим восстановление.
Стоимость услуг
Как мы работаем?
Сообщаете о проблеме
Звоните в наш центр, описываете вашу проблему, в тот же день наш мастер приезжает к вам.
Бесплатная диагностика
Наш мастер произведет диагностику, сообщит о проблеме и предложит решение.
Ремонт
Мы договоримся о цене и сроках, мастер начнет работу.

Отзывы наших клиентов
  • Поменяли заднюю панель и дисплей на iPhone 6, сделали все быстро, качественно и недорого. Я попросил мастера приехать ко мне в офис, и уже через час мой телефон был отремонтирован! Спасибо большое!
    Михаил Яковлев
    Менеджер
  • Отличный сервис и низкие цены! Ребята помогли мне отремонтировать ноутбук, когда я уже думала что он больше не будет работать! Спасибо!
    Александра Тихонова
    Студентка
  • Уже не первый раз обращаюсь сюда со своим компьютером. И каждый раз остаюсь доволен работой, обращением и ценовой политикой. Спасибо большое!
    Сергей Быков
    Экономист
  • Обратилась в субботу. Сдавала телефон Samsung Galaxy с разбитым стеклом, забрала как новенький, и цены не завышены. Буду без сомнения рекомендовать вас!
    Светлана Климова
    Бухгалтер
Если вы обращались в наш сервис, пишите нам на rere@pair.ru. Мы бы очень хотели узнать ваше мнение о нашей работе!
Почему нас выбирают?
  • 10 лет работы в ремонте цифрой техники
    За долгое время, мы выполнили огромное количество ремонтов. Быстрая работа и профессиональные мастера - наше преимущество!
  • Бесплатная диагностика
    Быстрая, качественная и бесплатная диагностика в нашем сервисном центре.
  • Индивидуальный подход
    Быстрый ремонт в любое удобное для вас время и месте.
Некоторые факты о нас
Наш сервис предоставляет услуги по ремонту и восстановлению цифровой техники. Наши специалисты помогут Вам в любой ситуации и всегда пойдут навстречу, при этом мы гарантируем соблюдение сроков исполнения ремонта техники. Мы выполняем ремонт смартфонов Nokia, Samsung, Fly, Huawei, ремонт Apple всех моделей и другую цифровую технику.

Наш офис находится в центре города, также мы осуществляет доставку после ремонта по всему городу. Просто позвоните нам, и мы поможем решить вашу проблему!
Частые вопросы
  • Катя:
    Можно ли оплатить работы банковской картой?
    Поддержка:
    Да, оплатить работу можно и наличными и по банковской карте.
  • Катя:
    Каков гарантийный срок работы?
    Поддержка:
    Гарантия на ремонтые работы дается сроком на 1 месяц, кроме работ по обработке от влаги. По работам связанным с обработкой от влаги дается гарантия 1 день.
  • Катя:
    Вы используете оригинальные запчасти для ремонта?
    Поддержка:
    Да. Мы работаем только с новыми оригинальными запасными частями поставляемых от производителя.
Контакты:
8 (987) 65 432 10
rere@pair.ru
Проспект Кирова 28, Самара
Мы находимся в центре города, ближайшее станция метро «Университет». Также подписывайтесь на нас в соц сетях!
Stock photos from:

Как сделать активные ссылки в Zero Menu в Tilda

1
Создали нужное количество якорных блоков на странице T173
2
Создали ZeroBlock и задали ему класс uc-main-menu , добавили в нём элементы со ссылкой на наши якоря (например #contacts)
3
Добавили скрипт в блок Другое - Т123
Mo-ti Level Up
Видео инструкции по добавлению кода и работе с Zero Block.
Создаём меню в ZeroBlock, применяем стили активных ссылок меню при нажатии и скролле по странице.
Фрагмент видео
Библиотека для примера
<style>
.uc-main-menu a.active-anchor,
.uc-main-menu a.active-anchor .tn-atom__button-text {
    color: #ffffff !important;
}   
.uc-main-menu a,
.uc-main-menu a .tn-atom__button-text{
    transition: all 0.2s ease-in-out;
}
</style>

<script>
(function() {
    'use strict';
    
    let menuLinks = [];
    let anchors = [];
    let ticking = false;
    let offset = 20; // Отступ от верха экрана
    let currentPageUrl = '';
    
    function init() {
        currentPageUrl = window.location.pathname.replace(/\/$/, '') || '/';
        findMenuContainers();
        findAnchors();
        setupEventListeners();
        
        requestAnimationFrame(() => {
            sortAnchorsByPosition();
            setInitialActiveAnchor();
        });
    }
    
    function findMenuContainers() {
        const containers = document.querySelectorAll('.uc-main-menu');
        if (!containers.length) return;
        
        menuLinks = [];
        containers.forEach(container => {
            container.querySelectorAll('a').forEach(link => {
                const href = link.getAttribute('href');
                if (!href) return;

                const hashIndex = href.indexOf('#');
                const anchorName = hashIndex !== -1 ? href.substring(hashIndex + 1) : null;
                const pathPart = hashIndex !== -1 ? href.substring(0, hashIndex) : href;
                const normPath = pathPart.replace(/\/$/, '') || '/';

                if (anchorName && (pathPart === '' || normPath === currentPageUrl)) {
                    menuLinks.push({ element: link, anchorName, type: 'anchor' });
                } else if (!anchorName && normPath === currentPageUrl) {
                    menuLinks.push({ element: link, anchorName: null, type: 'page' });
                }
            });
        });
    }
    
    function findAnchors() {
        anchors = [];
        const anchorNames = [...new Set(menuLinks
            .filter(link => link.type === 'anchor')
            .map(link => link.anchorName))];
            
        anchorNames.forEach(name => {
            let el = document.getElementById(name);
            if (!el) el = document.querySelector(`[name="${name}"]`);
            
            if (el) {
                anchors.push({ name, element: el });
            } else {
                console.warn(`Якорь "${name}" не найден в DOM. Проверьте id/name секций.`);
            }
        });
    }

    function sortAnchorsByPosition() {
        const scrollY = window.scrollY || window.pageYOffset;
        anchors.sort((a, b) => {
            const topA = a.element.getBoundingClientRect().top + scrollY;
            const topB = b.element.getBoundingClientRect().top + scrollY;
            return topA - topB;
        });
    }
    
    function setupEventListeners() {
        window.addEventListener('scroll', function() {
            if (!ticking) {
                requestAnimationFrame(function() {
                    updateActiveAnchor();
                    ticking = false;
                });
                ticking = true;
            }
        }, { passive: true });
        
        window.addEventListener('resize', function() {
            sortAnchorsByPosition();
            updateActiveAnchor();
        });
    }
    
    function setInitialActiveAnchor() {
        updateActiveAnchor();
        if (window.location.hash) {
            const hash = window.location.hash.substring(1);
            const target = document.getElementById(hash) || document.querySelector(`[name="${hash}"]`);
            if (target) {
                setTimeout(() => updateActiveAnchor(), 150);
            }
        }
    }
    
    function updateActiveAnchor() {
        if (menuLinks.length === 0) {
            updateMenuClasses(null);
            return;
        }
        
        const scrollPosition = window.scrollY || window.pageYOffset;
        let activeAnchor = null;

        for (let i = 0; i < anchors.length; i++) {
            const rect = anchors[i].element.getBoundingClientRect();
            const absoluteTop = rect.top + scrollPosition;

            if (absoluteTop > scrollPosition + offset + 5) { 
                break;
            }
            activeAnchor = anchors[i];
        }
        
        updateMenuClasses(activeAnchor);
    }
    
    function updateMenuClasses(activeAnchor) {
        const activeName = activeAnchor ? activeAnchor.name : null;
    
        menuLinks.forEach(link => {

            const shouldBeActive = (activeName && link.type === 'anchor' && link.anchorName === activeName) ||
                                   (!activeName && link.type === 'page');
            
            const isActive = link.element.classList.contains('active-anchor');

            if (shouldBeActive && !isActive) {
                link.element.classList.add('active-anchor');
            } else if (!shouldBeActive && isActive) {
                link.element.classList.remove('active-anchor');
            }
        });
    }

    window.UCMainMenu = {
        reinit: function() {
            currentPageUrl = window.location.pathname.replace(/\/$/, '') || '/';
            findMenuContainers();
            findAnchors();
            sortAnchorsByPosition();
            updateActiveAnchor();
        },
        setOffset: function(val) { offset = val; updateActiveAnchor(); }
    };
    
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', init);
    } else {
        init();
    }
})();
</script>
Made on
Tilda