Перейти к содержимому
BIS Arts
  • Услуги
    • Создание сайта под ключ
    • Одностраничный лендинг-сайт
    • Многостраничный сайт
    • Интернет-магазин
    • Обслуживание и доработки сайта
    • Разработка логотипа
  • Уроки
  • Портфолио
  • Отзывы
  • Контакты
  • Услуги
    • Создание сайта под ключ
    • Одностраничный лендинг-сайт
    • Многостраничный сайт
    • Интернет-магазин
    • Обслуживание и доработки сайта
    • Разработка логотипа
  • Уроки
  • Портфолио
  • Отзывы
  • Контакты
Whatsapp Max
+7(900)247-59-69
Главная / Уроки / Сайтостроение / Мульти кнопка для сайта

Мульти кнопка для сайта

  • 23 августа, 2024
  • Нет комментариев
Мульти кнопка для сайта
Содержание

В этом уроке мы разберем, как сделать мульти кнопку для сайта с помощью HTML, JS и CSS. При нажатии на кнопку будут появляться всплывающие кнопки с ссылками на чаты в WhatsApp и Telegram, а также кнопка позвонить по телефону. Поняв принцип вы сможете добавлять любое количество всплывающих кнопок с нужными вам контактами.

Также мы рассмотрим готовый плагин с кнопкой для WordPress.

HTML код кнопки

Для начала пропишем код самой кнопки. Этот код необходимо размещать внутри тела страницы, между тегами <body> и </body>.

<div class="fixed-button">
    <button id="main-button">
        <!-- Иконка для главной кнопки -->
        <img src="/путь к файлу/main-icon.svg" alt="Menu">
    </button>
    <div class="popup">
        <!-- Ссылки и иконки для всплывающих кнопок -->
        <a href="tel:1234567890" class="popup-button">
            <img src="/путь к файлу/tel.svg" alt="Телефон" title="Позвонить">
        </a>
        <a href="https://wa.me/1234567890" class="popup-button">
            <img src="/путь к файлу/whatsapp.svg" alt="WhatsApp" title="Написать в WhatsApp">
        </a>
        <a href="https://t.me/username" class="popup-button">
            <img src="/путь к файлу/telegram.svg" alt="Telegram" title="Написать в Telegram">
        </a>
    </div>
</div>

В коде мы использовали svg иконки, которые нужно предварительно загрузить на хостинг, в папку с вашим сайтом. Затем в коде прописать путь к месту расположения файлов.

Итак, мы загрузили иконки, прописали код главной кнопки и трёх всплывающих кнопок с нужными нам контактами.

CSS стиль кнопки

Теперь нам нужно всё это дело красиво оформить, например следующим образом.

.fixed-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999999;
}

#main-button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    background-color: #007BFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#main-button img {
    width: 30px;
    height: 30px;
}

.popup {
    display: none;
    position: absolute;
    bottom: 70px;
    right: 0;
    flex-direction: column;
    align-items: center;
}

.popup-button {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
    border-radius: 50%;
    background-color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.popup-button img {
    width: 25px;
    height: 25px;
}

.popup-button:hover {
    transform: scale(1.1);
}

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

Скрипт для кнопки

Теперь пропишем скрипт, чтобы у кнопки появилась функция отображения скрытых всплывающих кнопок.

document.addEventListener('DOMContentLoaded', function () {
    const mainButton = document.getElementById('main-button');
    const popup = document.querySelector('.popup');

    mainButton.addEventListener('click', function () {
        popup.style.display = popup.style.display === 'flex' ? 'none' : 'flex';
    });

    document.addEventListener('click', function (event) {
        if (!mainButton.contains(event.target) && !popup.contains(event.target)) {
            popup.style.display = 'none';
        }
    });
});

Если вы планируете добавить этот скрипт напрямую в тело или подвал страницы, то необходимо обернуть его в теги <script>...</script>.

Если же вы хотите подключить его как отдельный файл, то создайте файл script.js и поместите туда код. Далее этот файл нужно будет подключить к вашему сайту. В WordPress это можно сделать через functions.php, либо опять же прописать на странице.

<script src="...путь к файлу/script.js"></script>

Установка кнопки на HTML сайт

Примерно так будет выглядеть код, если подключить весь код кнопки напрямую, без использования дополнительных файлов.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Мульти кнопка</title>
</head>
<body>

<div class="fixed-button">
    <button id="main-button">
        <!-- Иконка для главной кнопки -->
        <img src="/путь к файлу/main-icon.svg" alt="Menu">
    </button>
    <div class="popup">
        <!-- Ссылки и иконки для всплывающих кнопок -->
        <a href="tel:1234567890" class="popup-button">
            <img src="/путь к файлу/tel.svg" alt="Телефон" title="Позвонить">
        </a>
        <a href="https://wa.me/1234567890" class="popup-button">
            <img src="/путь к файлу/whatsapp.svg" alt="WhatsApp" title="Написать в WhatsApp">
        </a>
        <a href="https://t.me/username" class="popup-button">
            <img src="/путь к файлу/telegram.svg" alt="Telegram" title="Написать в Telegram">
        </a>
    </div>
</div>

<style>

.fixed-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999999;
}

#main-button {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    background-color: #007BFF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#main-button img {
    width: 30px;
    height: 30px;
}

.popup {
    display: none;
    position: absolute;
    bottom: 70px;
    right: 0;
    flex-direction: column;
    align-items: center;
}

.popup-button {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
    border-radius: 50%;
    background-color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.popup-button img {
    width: 25px;
    height: 25px;
}

.popup-button:hover {
    transform: scale(1.1);
}

</style>
<script>

document.addEventListener('DOMContentLoaded', function () {
    const mainButton = document.getElementById('main-button');
    const popup = document.querySelector('.popup');

    mainButton.addEventListener('click', function () {
        popup.style.display = popup.style.display === 'flex' ? 'none' : 'flex';
    });

    document.addEventListener('click', function (event) {
        if (!mainButton.contains(event.target) && !popup.contains(event.target)) {
            popup.style.display = 'none';
        }
    });
});

</script>
</body>
</html>

Если подключать отдельно файл стилей и скрипт, то код будет следующим.

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Мульти кнопка</title>
    <link rel="stylesheet" href="/путь к файлу/styles.css">
</head>
<body>

<div class="fixed-button">
    <button id="main-button">
        <!-- Иконка для главной кнопки -->
        <img src="/путь к файлу/main-icon.svg" alt="Menu">
    </button>
    <div class="popup">
        <!-- Ссылки и иконки для всплывающих кнопок -->
        <a href="tel:1234567890" class="popup-button">
            <img src="/путь к файлу/tel.svg" alt="Телефон" title="Позвонить">
        </a>
        <a href="https://wa.me/1234567890" class="popup-button">
            <img src="/путь к файлу/whatsapp.svg" alt="WhatsApp" title="Написать в WhatsApp">
        </a>
        <a href="https://t.me/username" class="popup-button">
            <img src="/путь к файлу/telegram.svg" alt="Telegram" title="Написать в Telegram">
        </a>
    </div>
</div>

<script src="/путь к файлу/script.js"></script>
</body>
</html>

Установка кнопки на WordPress

Подключение на WordPress сайте происходит аналогично. Расписывать куда вставлять HTML и CSS код не буду, об этом есть много информации, в том числе и на нашем сайте.

Единственное, если вы будете подключать файл со скриптом через functions.php, то код будет следующим.

add_action( 'wp_enqueue_scripts', 'my_script_1' );
function my_script_1(){
	wp_enqueue_script( 'popupscript', get_template_directory_uri() . '/путь к файлу/script.js');
}

Готовый WordPress плагин мульти кнопки

плагин мульти кнопки для WordPress

Тем, кому сложно разбираться с кодом предлагаю свой готовый плагин для WordPress, где кнопку можно легко настроить под ваш стиль сайта. У кнопки есть красивая анимация, всплывающие подсказки и возможность настройки внешнего вида. Плагин платный, но не дорогой.

Ссылка на плагин Multibutton Fixed

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Категории
Сайтостроение
Сайтостроение
WordPress
WordPress
WooCommerce
Elementor
elementor
Дизайн
Монетизация
Монетизация
реклама
BIS Arts

Услуги по созданию и обслуживанию сайтов

  • Услуги
  • Портфолио
  • Отзывы
+7 (900) 247-59-69
пн-пт с 10:00 до 19:00
Whatsapp Max Telegram Envelope
Copyright © 2013 — 2025 BIS Arts
Политика конфиденциальности
  • Услуги
    • Создание сайта под ключ
    • Одностраничный лендинг-сайт
    • Многостраничный сайт
    • Интернет-магазин
    • Обслуживание и доработки сайта
    • Разработка логотипа
  • Уроки
  • Портфолио
  • Отзывы
  • Контакты
  • +7 (900) 247-59-69
  • Написать в Whatsapp
  • Написать в Telegram
  • Написать в Max
Свяжитесь с нами
  • Позвонить
  • Написать в WhatsApp
  • Написать в Telegram
  • Написать в Max
  • Написать письмо
Позвонить
Написать в WhatsApp
Написать в Telegram
Написать письмо