Решил блок результаты оформить в виде Slick-Slider-а. Все отображается корректно на всех экранах
На больших
На малых
Но как только добавляю код модального окна
получаю пустоту вместо контента.
Что можно предпринять чтобы избавиться от такого поведения?
Хотя все остальные модальные окна отображаются корректно.
<!-- RESULT -->
<div class="popup popup-result" id="popup-result">
<div class="popup-content popup-result-content">
<button class="popup-content__close">×</button>
<div class="popup-result-slider">
<div class="popup-result-block">
<h3 class="popup-result-block__title">Результаты</h3>
<p class="popup-result-block__descr">Киев, под шпаклевку,
неровность 40 мм.
</p>
<span class="popup-result-block__cost">Стоимость работ <br> <strong>- 330</strong> грн/м<sup>2</sup></span>
<ul class="popup-result-block__list">
<li class="popup-result-block__item">Проведение работ</li>
<li class="popup-result-block__item">Уборка</li>
</ul>
<!-- /.price-block__list -->
</div>
<!-- /.price-block popup-result-block -->
<div class="popup-result-block">
<h3 class="popup-result-block__title">Результаты</h3>
<p class="popup-result-block__descr">Киев, под шпаклевку,
неровность 40 мм.
</p>
<span class="popup-result-block__cost">Стоимость работ <br> <strong>- 530</strong> грн/м<sup>2</sup></span>
<ul class="popup-result-block__list">
<li class="popup-result-block__item">Завоз материала и его подъём</li>
<li class="popup-result-block__item">Проведение работ</li>
<li class="popup-result-block__item">Уборка</li>
<li class="popup-result-block__item">Гарантия 2 года</li>
</ul>
<!-- /.price-block__list -->
</div>
<!-- /.popup-result-slider-->
</div>
<!-- /.price-block popup-result-block -->
</div>
<!-- /.popup-content popup-calculator-content -->
</div>
/*POPUP-RESULT*/
.popup
&-result
display: none
&-content
display: flex
justify-content: space-between
padding: 0
max-width: 700px
background: linear-gradient(to right, $calculator-bg 50%, #ffffff 50%)
&-block
font-size: 18px
background: transparent
box-shadow: none
min-height: 450px
padding: 30px 80px
&__title
font-size: 18px
margin-bottom: 30px
&__descr
margin-bottom: 30px
&__cost
display: block
margin-bottom: 30px
font-size: 20px
font-weight: 700
strong
font-size: 30px
&__list
margin-bottom: 20px
min-height: 130px
font-size: 16px
line-height: 1.6
list-style: none
&__item
&::before
display: inline-block
content: ''
width: 14px
height: 14px
margin-right: 10px
background: url('../img/check.svg') center no-repeat
background-size: 100%
vertical-align: middle
Код слайдера
//Popup-result-slider
$('.popup-result-slider').slick({
infinite: true,
focusOnSelect: true,
slidesToShow: 2,
slidesToScroll: 1,
responsive: [
{
breakpoint: 576,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
infinite: true,
dots: false,
prevArrow: '<button class="slider-btn slider-btn__prev"></button>',
nextArrow: '<button class="slider-btn slider-btn__next"></button>'
}
}
]
});
Порядок подключения скриптов
<script src="JQUERY cdn"></script>
<!-- Slick Slider script -->
<script src="plugins/slick/slick.min.js"></script>
<script src="js/slider.js"></script>
<!-- Main Script -->
<script src="js/main.js"></script>
Код модального окна из main.js
/*POPUP*/
document.addEventListener('DOMContentLoaded', function() {
let btnHelp = document.querySelector('#help');
btnHelp.addEventListener('click',() => showPopup('#popup-result'));
//Проверка наличие куки
function getCookie(name) {
let matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
function showPopup(selector) {
let date = new Date();
date = new Date(date.setDate(date.getDate() + 1));
let modal = document.querySelector(selector);
modal.style.display = 'block';
document.body.style.overflow = 'hidden';
window.addEventListener('click', function(event) {
if(event.target === modal) {
modal.style.display = 'none';
document.body.style.overflow = '';
}
});
document.cookie = `${decodeURI('popup')} = ${decodeURI(true)}; expires = ${date}; path = /`;
closePopup(modal);
}
function closePopup(modal) {
let modalClose = modal.querySelector('.popup-content__close');
modalClose.addEventListener('click', function(){
modal.style.display = 'none';
document.body.style.overflow = '';
});
}
if(getCookie('popup') === undefined) {
setTimeout(() => showPopup('#popup-result'), 5000);
}
/*END POPUP*/
});