@pwnography

Как реализовать 20+ поп-апов на странице?

Здравствуйте, на странице имеется очень много маленьких одинаковых кнопок, которые должны по клику вызывать небольшой попап рядом с ней. Все кнопки одинаковые, но поп-апы разные, поэтому привязываться по id к каждому не вариант(их может быть и 10 и 50 штук). По коду, блок поп-ап идет сразу после кнопки, как реализовать, чтобы по клику на кнопке открывался поп-ап идущий сразу после той кнопки, на которой был клик.
С JS совсем плохо, с JQ еще более менее, но реализовать не получилось.
  • Вопрос задан
  • 330 просмотров
Решения вопроса 1
toptalo
@toptalo
undefined
<button type="button">Показать попап</button>
<div class="popup" style="display: none;">Приветик</div>


$(document.body).on('click', 'button', function(e){
    e.preventDefault();
    var $button = $(this);
    var $popup = $button.next('.popup');

    $popup.fadeIn();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
axaxa_man
@axaxa_man
web developer
codepen.io/axaxaman/pen/BKvgbY

может как-нибудь так попробовать ?
Ответ написан
Комментировать
rim89
@rim89
программист-велосипедист
Все кнопки одинаковые, но поп-апы разные, поэтому привязываться по id к каждому не вариант(их может быть и 10 и 50 штук).

что значит - нельзя ? что мешает тем же JS гененировать ID или data атрибут с каким то параметром.
Потом использовать один шаблон попапа и туда передавать аяксом данные которые надо там выводить.
Ответ написан
Комментировать
@pwnography Автор вопроса
Дополнил скрипт Виктор Виктор следующим кодом:
$(document).mouseup(function (e) {
    var popupblock= $(".popup-block");
    if (popupblock.has(e.target).length === 0){
        popupblock.hide();
    }
});


Все прекрасно работает, всем спасибо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы