Я пытаюсь реализовать возможность загрузки викторины и отображать ее в лайтбокс одним щелчком мыши. Я получил все работы ajax, и я думаю, что правильно использую Magnific-popup, но «Лайтбокс» отсутствует. Вместо этого все, что я вижу, это текст, оставленный на оправке, на темном фоне.Как показать викторину с помощью Magnific-popup с ajax
я уменьшил код JQuery быть минимально необходимой, чтобы дублировать вопрос:
$('.els-ajax-popup').magnificPopup({
type:'ajax',
callbacks: {
parseAjax: function (ajaxResponse) {
ajaxResponse.data = "<div class='wrapper'><p>this is a test</p></div>";
}
}
});
И мой HTML выглядит следующим образом
<a class = "els-ajax-popup" href="http://sandbox.somewhere.net/wp-admin/admin-ajax.php?action=els_quiz_ajax&quiz_id=3" >Quiz</a>
Текущее поведение: После нажатия на ссылку, экран становится темный, и появляются слова «Загрузка ...», по центру на секунду и исчезают. Затем html появляется прямо на темном фоне, выравнивается по левому краю и центрируется по вертикали. Кроме того, отсутствующий белый фон, нет выхода. Только обновление экрана вернет его в нормальное состояние.
Я внимательно прочитал все вопросы о переполнении стека с тегом «Magnific-popup». Не знаю, что еще я могу сделать в этот момент.
Magnific отлично работает для меня в режиме «inline».
$('a.open-quiz-popup').magnificPopup({
type:'inline',
midClick: true, // allow opening popup on middle mouse click.
});
В этом случае HTML и jscript уже находятся на странице. Вы можете увидеть, как работает встроенная версия here.
Блестящее наблюдение! Проблема заключалась в том, что я опустил 'class = 'quiz-popup''. Я полностью забыл, что я снял этот стиль с одной из демоверсий Magnific-popup (несколько месяцев назад). –