Блок под тизеры
by noname5
HTML
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<main>
<p>Разнообразный и богатый опыт начало повседневной работы по формированию позиции требуют от нас анализа дальнейших направлений развития. Таким образом постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание соответствующий условий активизации.</p>
<p>Разнообразный и богатый опыт начало повседневной работы по формированию позиции требуют от нас анализа дальнейших направлений развития. Таким образом постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание соответствующий условий активизации.</p>
</main>
<aside class="tz" role="complementary">
<div class="post01" >
<iframe class="pw" width="100%" height="310" frameborder="0" scrolling="no"></iframe>
</div>
<div class="post02" >
<iframe class="pw" width="100%" height="310" frameborder="0" scrolling="no"></iframe>
</div>
<div class="post03">
<iframe class="pw" width="100%" height="310" frameborder="0" scrolling="no"></iframe>
</div>
<div class="post04">
<iframe class="pw" width="100%" height="310" frameborder="0" scrolling="no"></iframe>
</div>
<div class="post05">
<iframe class="pw" width="100%" height="310" frameborder="0" scrolling="no"></iframe>
</div>
<div class="post06">
<iframe class="pw" width="100%" height="310" frameborder="0" scrolling="no"></iframe>
</div>
</aside>
</div>
</body>
</html>
CSS
main {
max-width: 930px;
margin: auto;
}
.post01 {grid-area: post01;}
.post02 {grid-area: post02;}
.post03 {grid-area: post03;}
.post04 {grid-area: post04;}
.post05 {grid-area: post05;}
.post06 {grid-area: post06;}
.tz {
margin: auto;
display: grid;
grid-gap: 10px;;
}
@media (min-width:930px) {
.tz {
max-width: 920px;
grid-template-columns: 300px 300px 300px;
grid-template-areas: "post01 post02 post03"
"post04 post05 post06";}
}
@media (min-width:610px) and (max-width:930px) {
.tz {
max-width: 610px;
grid-template-columns: 300px 300px;
grid-template-areas: "post01 post02"
"post03 post04"
"post05 post06";}
}
@media (max-width:610px) {
.tz {
max-width: 300px;
grid-template-columns: 300px;
grid-template-areas: "post01"
"post02"
"post03"
"post04"
"post05"
"post06";}
}
JavaScript
const pws = document.querySelectorAll('.pw');
const config = {threshold: 0};
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
// тут выполняется логика, когда элемент впервые попал в область видимости
let el = entry.target; // .pw
observer.unobserve(el); // т.к. нужно что-то делать один раз - перестаём следить
el.src = "domain.com/click.php?key=smart-rotator"; //Подгружаем тизер
// вместо domain.com - домен тизерного трекера
}
});
}, config // settings
);
pws.forEach(pw => observer.observe(pw))